C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01

问题描述:

C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01
百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,
1个回答 分类:综合 2014-10-02

问题解答:

我来补答
浮点比较式不能用等于判断的.计算机处理的时候是会出现偏差的.一般都是设置一个偏差值比较.计算机的本身的限制没有办法.如果是确定了精度的话可以取整比较,不过是会有点偏差的
假设你的数值精度只有小数点后3位,那就直接四舍五入到小点后三位,然后作为字符串比较或者乘1000取整比较
 
 
展开全文阅读
剩余:2000