行万里路

行万里路,也要读万卷书

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

场景:

客户提示发料时提示库存不足,可肉眼比对发料数量与库存数量没有一点问题。

但调度跟踪却发现出现“不可思议”的异常。

简单分析:

1.转Decimal再计算没问题。精度较高,存储方法也不一样,所以数据没有丢失。

2.Double时数据丢失。精度最高,转二进制后有数据溢出,导致数据丢失。

3.根据数值,C#默认为Double,数据丢失。

总结:

读了几个帖子,C#为了支持金融、货币计算引入Decimal类型。所以,在处理金融等数据时,以后还是直接用Decimal。

 

引用:

http://bbs.csdn.net/topics/70318335

http://www.cnblogs.com/jhxk/articles/1605755.html

http://www.cnblogs.com/haiyang1985/archive/2009/03/03/1402394.html

http://blog.csdn.net/lai123wei/article/details/7220276 读完这个帖子,才理解了我的问题出现的原因。

 

posted on 2014-07-31 10:27  贤言叙语  阅读(343)  评论(0编辑  收藏  举报