C#的decimal类型,对比与float/double有什么好处吗?

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

想不明白。
各位指教。
...全文
266 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomoku 2013-12-28
  • 打赏
  • 举报
回复

bool equal1 = (0.1 + 0.2 == 0.3);    // 用double,equal1 = false
bool equal2 = (0.1m + 0.2m == 0.3m); // 用decimal,equal2 = true
hudsonhuang 2013-12-28
  • 打赏
  • 举报
回复
一般都是金融上用的

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧