コード例 #1
0
        public void MovePointLeftI()
        {
            BigDecimal movePtLeft   = BigDecimal.Parse("123456265.34");
            BigDecimal alreadyMoved = BigMath.MovePointLeft(movePtLeft, 5);

            Assert.True(alreadyMoved.Scale == 7 && alreadyMoved.ToString().Equals("1234.5626534"), "move point left 5 failed");
            movePtLeft   = new BigDecimal(-value2, 0);
            alreadyMoved = BigMath.MovePointLeft(movePtLeft, 12);
            Assert.True(alreadyMoved.Scale == 12 && alreadyMoved.ToString().Equals("-0.012334560000"),
                        "move point left 12 failed");
            movePtLeft   = new BigDecimal(123E18);
            alreadyMoved = BigMath.MovePointLeft(movePtLeft, 2);
            Assert.True(alreadyMoved.Scale == movePtLeft.Scale + 2 && alreadyMoved.ToDouble() == 1.23E18,
                        "move point left 2 failed");
            movePtLeft   = new BigDecimal(1.123E-12);
            alreadyMoved = BigMath.MovePointLeft(movePtLeft, 3);
            Assert.True(alreadyMoved.Scale == movePtLeft.Scale + 3 && alreadyMoved.ToDouble() == 1.123E-15,
                        "move point left 3 failed");
            movePtLeft   = new BigDecimal(value, 2);
            alreadyMoved = BigMath.MovePointLeft(movePtLeft, -2);
            Assert.True(alreadyMoved.Scale == movePtLeft.Scale - 2 && alreadyMoved.ToString().Equals("12345908"),
                        "move point left -2 failed");
        }