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