一直很奇怪C#的预定义数据类型中为什么加了一个decimal,有float和double不就够了吗?今天来挖一挖。
浮点型
如果我们在代码中写一个12.3,编译器会自动认为这个数是个double型。所以如果我们想指定12.3为float类型,那么你必须在数字后面加上F/f:
float
f = 12.3F;
decimal类型
作为补充,decimal类型用来表示高精度的浮点数
对decimal、float、double错误的认识
引用自:http://topic.csdn.net/t/20050514/20/4007155.html
中Ivony的评论
在精确计算中使用浮点数是非常危险的,尽管C#在浮点数运算时采取了很多措施使得浮点数运算的结果看起来是非常正常的。但实际上如果不清楚浮点数的特性而贸然使用的话,将造成非常严重的隐患。
本文来自CSDN博客,http://blog.csdn.net/ccy3253/archive/2008/01/28/2070616.aspx
C#中对于float,double,decimal的误解,布布扣,bubuko.com
原文:http://www.cnblogs.com/lonelyxmas/p/3591132.html