예제 #1
0
        public void TestToString()
        {
            IbFloat d;

            d = new IbFloat(123456, 4);
            Assert.True(d.ToString() == "1234560000");

            d = new IbFloat(123456, -4);
            Assert.True(d.ToString() == "12.3456");

            d = new IbFloat(123456, -8);
            Assert.True(d.ToString() == "0.00123456");
        }
예제 #2
0
        public void TestContructor()
        {
            IbFloat d0;
            string  d0s;

            // default constructors

            d0 = new IbFloat(123456L, 4);
            Assert.True(d0.ToString() == "1234560000");
            d0 = new IbFloat(123456L, -4);
            Assert.True(d0.ToString() == "12.3456");

            d0 = new IbFloat(-123456L, 4);
            Assert.True(d0.ToString() == "-1234560000");
            d0 = new IbFloat(-123456L, -4);
            Assert.True(d0.ToString() == "-12.3456");

            // big significands

            d0  = new IbFloat(123456789012L, 4);
            d0s = d0.ToString();
            Assert.True(d0s == "1234567890000000"); // normalized
            d0  = new IbFloat(123456789012L, -4);
            d0s = d0.ToString();
            Assert.True(d0s == "12345678.9"); // normalized

            d0  = new IbFloat(-123456789012L, 4);
            d0s = d0.ToString();
            Assert.True(d0s == "-1234567890000000"); // normalized
            d0  = new IbFloat(-123456789012L, -4);
            d0s = d0.ToString();
            Assert.True(d0s == "-12345678.9"); // normalized

            // constructor overload

            d0 = new IbFloat(123456, 4);
            Assert.True(d0.ToString() == "1234560000");
            d0 = new IbFloat(123456U, 4);
            Assert.True(d0.ToString() == "1234560000");
        }