예제 #1
0
    /// <summary>
    /// 获得金额
    /// </summary>
    /// <param name="MoneyAmount"></param>
    /// <param name="MoneyCurrency"></param>
    public static List <LocAndValue <(String MoneyAmount, String MoneyCurrency)> > LocateMoney(HTMLEngine.MyRootHtmlNode root)
    {
        var list = new List <LocAndValue <(String MoneyAmount, String MoneyCurrency)> >();

        foreach (var paragrah in root.Children)
        {
            foreach (var sentence in paragrah.Children)
            {
                var OrgString = sentence.Content;
                OrgString = NumberUtility.ConvertUpperToLower(OrgString).Replace(" ", String.Empty);
                var Money = MoneyUtility.SeekMoney(OrgString);
                foreach (var money in Money)
                {
                    list.Add(new LocAndValue <(String MoneyAmount, String MoneyCurrency)>
                    {
                        Loc         = sentence.PositionId,
                        Description = "金额",
                        Value       = money,
                        StartIdx    = OrgString.IndexOf(money.MoneyAmount)
                    });
                }
            }
        }
        return(list);
    }
예제 #2
0
        public void TestStringSplit()
        {
            var str   = @"1234\n5678";
            var split = NumberUtility.GetStringArray(str);

            Assert.IsTrue(split.Length == 2);
        }
        public bool MakeRandomMoCPayment(Utilities.TimeSpan timeSpan)
        {
            var systemValues   = _systemValueService.GetNewestSystemValue();
            var totalUserCount = _userService.GetAllUsersCount(timeSpan);

            //If the amount of users (as of now) is greater than the min threshold
            if (totalUserCount > systemValues.AirdropTotalUserCountMinThreshold)
            {
                Random rnd = new Random();
                //Get a random percent payout 10~20
                int giveAway = rnd.Next(systemValues.AirdropMinThresholdUserPercent, systemValues.AirdropMaxThresholdUserPercent);
                //Get the number of users based on the random percentage > and round up
                double usersToGiveAway = Math.Ceiling(
                    ((double)(totalUserCount) / 100.0) * ((double)giveAway)
                    );
                var randomUsers = _userService.GetRandomUsers(((int)usersToGiveAway), timeSpan.StartDate);

                foreach (var user in randomUsers)
                {
                    var amount = NumberUtility.GetRandomDouble(10, 100);
                    //Make transfer from admin account
                    var success = _creditWalletService.Transfer(systemValues.AdminUserId, user.Id, amount, TransferType.Airdrop);
                    if (success)
                    {
                        //Send message to user informing of success
                        _userMessageService.AddUserMessage($@"You have been randomly selected to recieve: {amount} MoC!",
                                                           user.Id, MessageStatus.Win.ToString());
                    }
                }
                return(true);
            }
            return(false);
        }
        static void Main(string[] args)
        {
            // Create multiple domestic reference numbers
            Console.WriteLine("Anna viitenumeron perusosa (esim. laskunro):");
            string baseForReferenceNumber = Console.ReadLine().Replace(" ", "");

            while (!NumberUtility.CheckNumberLength(baseForReferenceNumber, 3, 19))
            {
                Console.WriteLine("Viitenumeron perusosa virheellinen. Numeron pitää olla 3-19 merkkiä pitka ja se saa sisaltaa vain numeroita.");
                Console.WriteLine("Anna viitenumeron perusosa (esim. laskunro):");
                baseForReferenceNumber = Console.ReadLine().Replace(" ", "");
            }

            baseForReferenceNumber = baseForReferenceNumber.TrimStart(Convert.ToChar("0"));

            int numberOfReferenceNumbers = 0;

            Console.Write("Kuinka monta viitenumeroa luodaan: ");
            string userInput = Console.ReadLine();

            while (!int.TryParse(userInput, out numberOfReferenceNumbers))
            {
                Console.Write("Maara virheellinen. Anna numeraalinen arvo: ");
                userInput = Console.ReadLine();
            }

            for (int i = 1; i <= numberOfReferenceNumbers; i++)
            {
                Console.WriteLine(NumberUtility.GroupDigits(baseForReferenceNumber + i + PaymentReference.CalculateDomesticCheckDigit(baseForReferenceNumber + i), 5, true));
            }

            Console.WriteLine("Paina mita tahansa nappainta jatkaaksesi...");
            Console.ReadKey();
        }
    public void InitTimer()
    {
        text = GetComponent <Text>();

        //タイマの残り時間を描画する
        rxCountDownTimer
        .CountDownObservable
        .Subscribe(time =>
        {
            //OnNext
            text.text = NumberUtility.GetMinBySec(time) + " : " + NumberUtility.GetSec(time).ToString("00");
        }, () =>
        {
            //OnComplete
            text.text = string.Empty;
        });

        //タイマが10秒以下で色を赤くし大きく
        rxCountDownTimer
        .CountDownObservable
        .First(timer => timer <= 10)
        .Subscribe(_ => {
            text.color    = Color.red;
            text.fontSize = 50;
        });

        //猫逃げ切り
        rxCountDownTimer
        .CountDownObservable
        .First(timer => timer == 0)
        .Subscribe(_ => rxCountDownTimer.IsCatWin = true);
    }
예제 #6
0
 /// <summary>
 /// Transposes this matrix.
 /// </summary>
 public void Transpose()
 {
     NumberUtility.Swap(ref _e[1], ref _e[4]);
     NumberUtility.Swap(ref _e[2], ref _e[8]);
     NumberUtility.Swap(ref _e[3], ref _e[12]);
     NumberUtility.Swap(ref _e[6], ref _e[9]);
     NumberUtility.Swap(ref _e[7], ref _e[13]);
     NumberUtility.Swap(ref _e[11], ref _e[14]);
 }
        private static TSource DefaultRandomizer <TSource>(IEnumerable <TSource> source)
        {
            if (source == null)
            {
                return(default(TSource));
            }
            ICollection <TSource> collection = source as ICollection <TSource> ?? new List <TSource>(source);

            return(collection.Count == 0 ? default(TSource) : collection.ElementAt(NumberUtility.GetRandomNumber(collection.Count)));
        }
예제 #8
0
    /// <summary>
    /// Refreshes info about given Clothes. Virtual so names of Clothes can be overriden,
    /// especially for plural and singular forms.
    /// </summary>
    protected virtual void RefreshDisplayer()
    {
        var level = clothes.Level;
        var productionSpeedInv = clothes.ProductionSpeedInversed;
        var speed = level / productionSpeedInv;

        levelOnUiText.text = string.Format("Level {0}", NumberUtility.FormatNumber(level, 3));
        infoOnAutomaticProductionText.text = string.Format(
            "{0} {1} / second",
            NumberUtility.FormatNumber(speed, 3),
            clothes.name);
        infoOnPrice.text = string.Format("{0} $ for 1 {1}", NumberUtility.FormatNumber(level, 3), clothes.name);
    }
예제 #9
0
    /// <inheritdoc />
    protected override void RefreshDisplayer()
    {
        var level = clothes.Level;
        var productionSpeedInv = clothes.ProductionSpeedInversed;
        var speed = level / productionSpeedInv;

        levelOnUiText.text = string.Format("Level {0}", NumberUtility.FormatNumber(level, 3));
        infoOnAutomaticProductionText.text = string.Format(
            "{0} {1} / second",
            NumberUtility.FormatNumber(speed, 3),
            // ReSharper disable once CompareOfFloatsByEqualityOperator
            speed == 1f ? "t-shirt" : "t-shirts");
        infoOnPrice.text = string.Format("{0} $ for 1 {1}", NumberUtility.FormatNumber(level, 3), "t-shirt");
    }
예제 #10
0
 /// <summary>
 /// ルーム作成
 /// </summary>
 /// <param name="isVisible"></param>
 private void createRoom(bool isVisible)
 {
     Observable.Interval(TimeSpan.FromMilliseconds(50))
     .TakeUntil(this.UpdateAsObservable().Where(_ => {
         roomName = NumberUtility.RandomAToB(10000, 100000).ToString();
         return(!roomInfos.Select(room => room.Name).Any(name => name.Equals("" + roomName)));
     }).Take(1))
     .Subscribe(_ => {
         Debug.Log("roomName : " + roomName + "はすでに存在します");
     }, () => {
         createRoom("" + roomName, isVisible);
     });
     Debug.Log("");
 }
예제 #11
0
    List <RecordBase> ExtractMultiCommon()
    {
        var MainRec = ExtractSingle();
        //三项订单
        //中标通知书6份
        //中标通知书四份
        //履行进展情况
        var Records = new List <RecordBase>();
        var isMulti = false;

        foreach (var p in root.Children)
        {
            foreach (var s in p.Children)
            {
                if (isMulti)
                {
                    if (nermap.ParagraghlocateDict.ContainsKey(s.PositionId))
                    {
                        var nerlist = nermap.ParagraghlocateDict[s.PositionId];
                        if (nerlist.moneylist.Count == 1)
                        {
                            var ContractRec = new ContractRec();
                            ContractRec.Id      = Id;
                            ContractRec.JiaFang = MainRec.JiaFang;
                            ContractRec.YiFang  = MainRec.YiFang;
                            ContractRec.ContractMoneyUpLimit   = MoneyUtility.Format(nerlist.moneylist.First().Value.MoneyAmount, String.Empty);
                            ContractRec.ContractMoneyDownLimit = ContractRec.ContractMoneyUpLimit;
                            Records.Add(ContractRec);
                        }
                    }
                }
                else
                {
                    var scan = NumberUtility.ConvertUpperToLower(s.Content).Replace(" ", "");
                    var cnt  = RegularTool.GetRegular(scan, "中标通知书\\d份");
                    if (cnt.Count == 1)
                    {
                        Console.WriteLine(Id + ":" + cnt[0].RawData + "[" + scan + "]");
                        isMulti = true;
                    }
                    if (s.Content.Contains("履行进展情况"))
                    {
                        Console.WriteLine(Id + ":履行进展情况");
                        isMulti = true;
                    }
                }
            }
        }
        return(Records);
    }
예제 #12
0
        static void Main(string[] args)
        {
            // Prompt user for input
            Console.Clear();
            Console.WriteLine("Kirjoita tilinumero:");

            // Store user input to a variable. Account number can be input with or without hyphen but the utility handles the account number
            // without it. Therefore all hyphens are removed.
            string userInput = Console.ReadLine().Replace("-", "");

            // Check the input for length (min length 7) and validity (no alphabetical characters). If not valid, prompt for a valid number.
            while (!NumberUtility.CheckNumberLength(userInput.Replace("-", ""), 7, 14))
            {
                Console.Clear();
                Console.WriteLine("Virheellinen tilinumero!\nTilinumeron pitaa olla 7-14 merkkia pitka eika se saa sisaltaa muita merkkeja kuin numeroita ja valiviivan.\nKirjoita tilinumero:");

                userInput = Console.ReadLine().Replace("-", "");
            }

            // Introduce a variable for handling different pad starting positions
            int characterPositionToPadFrom = 0;

            // For account numbers within banks 4 and 5, set the pad starting position to 7. For numbers within other banks, set it to 6
            if (userInput.Substring(0, 1) == "4" || userInput.Substring(0, 1) == "5")
            {
                characterPositionToPadFrom = 7;
            }
            else
            {
                characterPositionToPadFrom = 6;
            }

            // Pad the number with 0's until the length of the number is 14
            string bbanNumber = NumberUtility.AddPadding(userInput, characterPositionToPadFrom, 14);

            Console.WriteLine("Tilinumerosi tarkiste: {0}", AccountNumber.CalculateBBANCheckDigit(bbanNumber));

            if (AccountNumber.ValidateBBANNumber(bbanNumber))
            {
                Console.WriteLine("Tilinumerosi konekielisessa BBAN-muodossa: {0}", bbanNumber);
                Console.WriteLine("Tilinumerosi konekielisessa IBAN-muodossa: {0}", AccountNumber.ConvertBBANToIBAN(bbanNumber));
            }
            else
            {
                Console.WriteLine("Tilinumeron tarkiste vaarin. Tarkista tilinumero!");
            }

            Console.ReadKey();
        }
예제 #13
0
        private static bool IsDualPalindrome(int n)
        {
            if (!NumberUtility.IsPalindrome(n))
            {
                return(false);
            }

            var base2 = Convert.ToString(n, 2);

            if (!IsPalindrome(base2))
            {
                return(false);
            }

            return(true);
        }
예제 #14
0
 /// <summary>
 /// ルームに入室しとときに呼ばれるコールバック
 /// </summary>
 void OnJoinedRoom()
 {
     Debug.Log("PhotonManager OnJoinedRoom");
     DestroyImmediate(loadingDisplay);
     ScreenStateManager.Instance.GoToNextScene(ScreenStateType.Matching);
     // PlayerId設定
     playerId = PhotonNetwork.player.ID;
     initPlayerList();
     if (PhotonNetwork.player.IsMasterClient)
     {
         int randomIndex = NumberUtility.RandomLendth(ROOM_MAX_PLAYER);
         Debug.Log("RandomIndex : " + randomIndex);
         PhotonNetwork.room.SetCustomProperties(new ExitGames.Client.Photon.Hashtable()
         {
             { "PlayerIndex", randomIndex }
         });
     }
 }
예제 #15
0
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            Number n = new Number();

            n.Period = tbx_period.Text.Trim();
            n.Date   = tbx_date.Text.Trim();
            n.Num1   = tbx_num1.Text.Trim();
            n.Num2   = tbx_num2.Text.Trim();
            n.Num3   = tbx_num3.Text.Trim();
            n.Num4   = tbx_num4.Text.Trim();
            n.Num5   = tbx_num5.Text.Trim();

            NumberUtility nu = new NumberUtility();

            nu.Add(n);

            bindingData();
        }
예제 #16
0
    /// <summary>
    /// プレイヤーの挙動を変更するメソッド
    /// </summary>
    private void playerBehavior()
    {
        if (!playerMoveController.GetMoveable())
        {
            catAnimation.stateProcessor.state.Value = catAnimation.stateIdle;
            return;
        }

        float CatArgs    = transform.rotation.eulerAngles.y;
        float targetArgs = ArgUtility.CastNomalArgByOverArg(ArgUtility.CastPlusArgByMinusArg(playerMoveController.ControllerArg) + mainCamera.transform.rotation.eulerAngles.y);

        if (NumberUtility.BetweenAAndB(CatArgs, targetArgs - ARGS_BUFFER, targetArgs + ARGS_BUFFER))
        {
            moveForwardCat();
        }
        else
        {
            rotateCat(targetArgs);
        }
    }
예제 #17
0
 /// <inheritdoc/>
 public void SwapColumns(int ca, int cb)
 {
     if (ca < 0 || ca >= OrderValue)
     {
         throw new ArgumentOutOfRangeException("ca", "Invalid column.");
     }
     if (cb < 0 || cb >= OrderValue)
     {
         throw new ArgumentOutOfRangeException("cb", "Invalid column.");
     }
     Contract.EndContractBlock();
     if (ca == cb)
     {
         return;
     }
     for (int r = 0; r < OrderValue; r++)
     {
         NumberUtility.Swap(ref _e[(r * OrderValue) + ca], ref _e[(r * OrderValue) + cb]);
     }
 }
예제 #18
0
        private bool ReverseCellState(Func <int> getRowIndex, Func <int> getColIndex, CellState beforeState, CellState clickCellState, bool isReverse)
        {
            int nowRowIndex = getRowIndex();
            int nowColIndex = getColIndex();

            if (NumberUtility.CheckNegativeNum(nowRowIndex, nowColIndex) || this.CellNum <= nowRowIndex || this.CellNum <= nowColIndex)
            {
                return(false);
            }
            Cell nowCell = table[nowRowIndex, nowColIndex];

            // 複数条件をbit演算で処理する方法
            // var a  = (empty | nextClickPlace)  = 0b1100
            // empty            & a == 0b0100 = 4 > 0
            // nextClickPlace   & a == 0b1000 = 8 > 0
            // white            & a == 0b0000 = 0
            // block            & a == 0b0000 = 0
            // 通常のif文
            //if(nowCell.state == empty || nowCell.state == nextClickPlace)
            if ((nowCell.state & (CellState.empty | CellState.nextClickPlace)) > 0)
            {
                return(false);
            }
            else if (nowCell.state == clickCellState && nowCell.state != beforeState)
            {
                return(true);
            }
            else if (nowCell.state == clickCellState)
            {
                return(false);
            }
            else
            {
                bool nextState = ReverseCellState(getRowIndex, getColIndex, nowCell.state, clickCellState, isReverse);
                if (nextState && isReverse)
                {
                    nowCell.state = clickCellState;
                }
                return(nextState);
            }
        }
예제 #19
0
        public static int Solution()
        {
            var palindromes = new List <int>();

            for (int i = 100; i <= 999; i++)
            {
                for (int j = 100; j <= 999; j++)
                {
                    if (i <= j)
                    {
                        var x = i * j;
                        if (NumberUtility.IsPalindrome(x))
                        {
                            palindromes.Add(x);
                        }
                    }
                }
            }

            return(palindromes.Max());
        }
        static void Main(string[] args)
        {
            // Prompt for a domestic reference number
            Console.WriteLine("Anna viitenumero:");
            string referenceNumber = Console.ReadLine().Replace(" ", "");

            referenceNumber = referenceNumber.TrimStart(Convert.ToChar("0"));

            // If the input is not numerical or is not 4 to 20 digits long, prompt again
            while (!NumberUtility.CheckNumberLength(referenceNumber, 4, 20) || !PaymentReference.ValidateReferenceNumber(referenceNumber, false))
            {
                Console.WriteLine("Viitenumero virheellinen! Viitenumeron tulee olla 4-20 merkkia pitka ja se saa sisaltaa vain numeroita. Myös tarkistenumeron tulee olla oikein.");
                Console.WriteLine("Anna viitenumero:");
                referenceNumber = Console.ReadLine().Replace(" ", "");
                referenceNumber = referenceNumber.TrimStart(Convert.ToChar("0"));
            }

            Console.WriteLine("Viitenumero {0} on OK", NumberUtility.GroupDigits(referenceNumber, 5, true));

            Console.WriteLine("Paina mita tahansa nappainta jatkaaksesi...");
            Console.ReadKey();
        }
예제 #21
0
        static void Main(string[] args)
        {
            // Prompt for an international reference number
            Console.WriteLine("Anna kansainvalinen viitenumero:");
            string referenceNumber = Console.ReadLine().Replace(" ", "");

            referenceNumber = referenceNumber.TrimStart(Convert.ToChar("0"));

            // If the input is not numerical except for the first two digits or doesn't have the proper check digits, prompt again
            while (!NumberUtility.CheckNumberLength(referenceNumber.Remove(0, 2)) || !PaymentReference.ValidateReferenceNumber(referenceNumber, true))
            {
                Console.WriteLine("Viitenumero virheellinen! Tarkista viitenumero.");
                Console.WriteLine("Anna viitenumero:");
                referenceNumber = Console.ReadLine().Replace(" ", "");
                referenceNumber = referenceNumber.TrimStart(Convert.ToChar("0"));
            }

            Console.WriteLine("Viitenumero {0} on OK", NumberUtility.GroupDigits(referenceNumber, 4, false));

            Console.WriteLine("Paina mita tahansa nappainta jatkaaksesi...");
            Console.ReadKey();
        }
예제 #22
0
        /// <inheritdoc/>
        public void SwapRows(int ra, int rb)
        {
            if (ra < 0 || ra >= OrderValue)
            {
                throw new ArgumentOutOfRangeException("ra", "Invalid row.");
            }
            if (rb < 0 || rb >= OrderValue)
            {
                throw new ArgumentOutOfRangeException("rb", "Invalid row.");
            }
            Contract.EndContractBlock();
            if (ra == rb)
            {
                return;
            }
            var raOffset = ra * OrderValue;
            var rbOffset = rb * OrderValue;

            for (int c = 0; c < OrderValue; c++)
            {
                NumberUtility.Swap(ref _e[raOffset + c], ref _e[rbOffset + c]);
            }
        }
예제 #23
0
 public void DifferenceFrom5_1_Return_4()
 {
     var differenceFrom5 = NumberUtility.CalculateDifferenceFrom5(1);
     Assert.AreEqual(4, differenceFrom5);
 }
예제 #24
0
 private void Quantity_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
 {
     NumberUtility.isIntegerNumber(sender, 500);
 }
예제 #25
0
    private void RefreshPrice()
    {
        priceText.text = NumberUtility.FormatNumber(clothes.MoneyNeededToUpgrade, 3) + " $";

        // priceText.text = clothes.MoneyNeededToUpgrade + "$";
    }
예제 #26
0
        public ActionResult Submit()
        {
            // Variables.
            var tempGuid = default(Guid);
            var keys     = Request.Form.AllKeys;
            var fileKeys = Request.Files.AllKeys;
            var formId   = Guid.Parse(Request["FormId"]);
            var pageId   = NumberUtility.AttemptParseInt(Request["PageId"]);
            var pageNode = pageId.HasValue
                ? Umbraco.TypedContent(pageId.Value)
                : null;
            var pageUrl  = pageNode?.Url;
            var pageName = pageNode?.Name;


            // Get values.
            var values = keys
                         .Where(x => Guid.TryParse(x, out tempGuid))
                         .Select(x =>
            {
                var fieldValue = Request.Form.GetValues(x);
                return(new FieldSubmission
                {
                    FieldId = Guid.Parse(x),
                    FieldValues = fieldValue
                });
            })
                         .ToList();

            // Get file values.
            var fileValues = fileKeys
                             .Where(x => Guid.TryParse(x, out tempGuid))
                             .Select(x =>
            {
                // Variables.
                var fileValue = Request.Files.Get(x);


                // Extract file data: http://stackoverflow.com/a/16030326/2052963
                var reader   = new BinaryReader(fileValue.InputStream);
                var fileData = reader.ReadBytes((int)fileValue.InputStream.Length);
                var filename = fileValue.FileName;


                // Return file field submission.
                return(new FileFieldSubmission()
                {
                    FieldId = Guid.Parse(x),
                    FileData = fileData,
                    FileName = filename
                });
            })
                             .ToList();


            // Payload.
            var payload = new[]
            {
                new PayloadSubmission()
                {
                    Name  = "URL",
                    Value = pageUrl
                },
                new PayloadSubmission()
                {
                    Name  = "Page Name",
                    Value = pageName
                }
            }.Where(x => !string.IsNullOrWhiteSpace(x.Value));


            // Submit form.
            var context = new FormRequestContext()
            {
                CurrentPage    = pageNode,
                HttpContext    = HttpContext,
                Services       = Services,
                UmbracoContext = UmbracoContext,
                UmbracoHelper  = Umbraco
            };
            var options = new SubmissionOptions()
            {
                Validate = Config.EnableServerSideValidation
            };
            var result = Submissions.SubmitForm(formId, values, fileValues, payload, options, context);


            // Return result.
            return(Json(new
            {
                Success = result.Success
            }));
        }
예제 #27
0
 private void PalletMaxWeight_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
 {
     NumberUtility.isDecimalNumber(sender, 1000);
 }
예제 #28
0
 public void DifferenceFrom5_IsInvalidNumber()
 {
     Assert.ThrowExpection<ArgumentExpection>(() => (NumberUtility.CalculateDifferenceFrom5("ArgumentExpection input"));
 }
예제 #29
0
 public void DifferenceFrom5_4_Return_1() 
 {
     var differenceFrom5 = NumberUtility.CalculateDifferenceFrom5(4);
     Assert.AreEqual(1, differenceFrom5);
 }
예제 #30
0
 private void IncreaseCurrentPermutationSize()
 {
     _currentPermutationSize = (int)Math.Round((NumberUtility.Factorial(PermutationCharacters.Count) / NumberUtility.Factorial(PermutationCharacters.Count - CurrentCombinationLength)));
 }