问:C#中的Decimal,Float和Double有什么区别?在每种情况下应使用哪种情况?
答:小数是一种浮动小数点类型。
float和double是浮动二进制点类型。
主要区别在于精度。
浮点数-7位数字(32位)
双-15-16位数字(64位)
十进制-28-29位有效数字(128位)
小数具有更高的精度,通常在需要高度准确性的金融应用程序中使用。小数要比double / float慢得多(在某些测试中,多达20倍)。
如果不进行强制转换,则不能比较小数和浮点数/双精度数,而可以进行浮点数和双精度数的比较。小数也允许编码或尾随零。