none
Decimal怎么理解 RRS feed

答案

  • 你好!

         具体可以参考:

    http://msdn.microsoft.com/zh-cn/library/364x0z75%28VS.80%29.aspx

          decimal本来就是浮点型的,有小数很正常啊!


    周雪峰
    2010年5月6日 0:56
    版主
  • decimal类似与原先VB6.0中的Currency或者SQL的Money类型,用于提供精度更高的浮点数。一般用户大型国家等巨额数量财政计算之用,或者是某些科技科普文章上要求精度极高的数学计算数字等(如导弹轨迹等)。

    一般地,decimal和float,double相互不能直接转化,需要显示转化(因为decimal到double可能损失精度,double到decimal会超出容量的危险)。

    以下给出一个示例代码,您自行创建一个基于C#控制台程序,然后输入以下代码,自行比较输出结果。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                decimal n = 9999.999999999999999999999999m;
                double n2 = 9999.999999999999999999999999;
                Console.WriteLine("decimal:"+n);
                Console.WriteLine("double:"+n2);
            }
        }
    }

    具体参考周版主的东西哦!

     

     

    2010年5月6日 2:45
    版主

全部回复

  • 你好!

         具体可以参考:

    http://msdn.microsoft.com/zh-cn/library/364x0z75%28VS.80%29.aspx

          decimal本来就是浮点型的,有小数很正常啊!


    周雪峰
    2010年5月6日 0:56
    版主
  • decimal类似与原先VB6.0中的Currency或者SQL的Money类型,用于提供精度更高的浮点数。一般用户大型国家等巨额数量财政计算之用,或者是某些科技科普文章上要求精度极高的数学计算数字等(如导弹轨迹等)。

    一般地,decimal和float,double相互不能直接转化,需要显示转化(因为decimal到double可能损失精度,double到decimal会超出容量的危险)。

    以下给出一个示例代码,您自行创建一个基于C#控制台程序,然后输入以下代码,自行比较输出结果。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                decimal n = 9999.999999999999999999999999m;
                double n2 = 9999.999999999999999999999999;
                Console.WriteLine("decimal:"+n);
                Console.WriteLine("double:"+n2);
            }
        }
    }

    具体参考周版主的东西哦!

     

     

    2010年5月6日 2:45
    版主