C#数据类型中的decimal精度比double更高


decimal 128bit大小 有效数字:28~29,虽然decimal类型有比浮点类型更高的精度,但它的范围更小。故double转decimal有可能发生溢出错误,此外,decimal的计算速度稍微慢一些。

 

Console.WriteLine(1.618031234567895);

输出结果:1.61803123456789

最后一个数字5丢失了,这符合我们对double类型精度的预期。

要显示具有完整精度的数字,必须将字面值显示地声明为decimal类型,这是通过追加一个m(或者M)来实现的:

Console.WriteLine(1.618031234567895m);

输出结果:1.618031234567895

之所以用m表示decimal,是因为这种数据类型经常用在货币(monetary)计算中。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM