
C# 中计算 double 类型时出错,,0.1*0.1 为什么不是等于0.01
百度了一下说是精度问题,,说是换decimal类型计算,,但是我求幂,超出了decimal类型的范围,,,求解决办法~~...
百度了一下说是精度问题,,说是换 decimal类型计算,,但是我求幂,超出了decimal类型的范围,,,求解决办法~~
展开
2个回答
展开全部
浮点比较式不能用等于判断的。。。计算机处理的时候是会出现偏差的。。。一般都是设置一个偏差值比较。。。计算机的本身的限制没有办法。。。如果是确定了精度的话可以取整比较,不过是会有点偏差的
假设你的数值精度只有小数点后3位,那就直接四舍五入到小点后三位,然后作为字符串比较或者乘1000取整比较
假设你的数值精度只有小数点后3位,那就直接四舍五入到小点后三位,然后作为字符串比较或者乘1000取整比较
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询