日期:2014-05-17  浏览次数:21092 次

C#的decimal类型,对比与float/double有什么好处吗?
书上说decimal使用10进制存储整数的部分,float/double使用2进制存储整数的部分。
我想知道,有没有情况下更加适合使用decimal类型而不是float/double? 要存储一个商品价格,float/double不就已经够用了吗?
两位小数的话,float/double也不会丢失精度啊。

想不明白。
各位指教。

------解决方案--------------------
一般都是金融上用的
------解决方案--------------------

bool equal1 = (0.1 + 0.2 == 0.3);    // 用double,equal1 = false
bool equal2 = (0.1m + 0.2m == 0.3m); // 用decimal,equal2 = true