C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 03:33:14
![C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,](/uploads/image/z/7446622-22-2.jpg?t=C%23+%E4%B8%AD%E8%AE%A1%E7%AE%97+double+%E7%B1%BB%E5%9E%8B%E6%97%B6%E5%87%BA%E9%94%99%2C0.1%2A0.1+%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E6%98%AF%E7%AD%89%E4%BA%8E0.01%E7%99%BE%E5%BA%A6%E4%BA%86%E4%B8%80%E4%B8%8B%E8%AF%B4%E6%98%AF%E7%B2%BE%E5%BA%A6%E9%97%AE%E9%A2%98%2C%E8%AF%B4%E6%98%AF%E6%8D%A2+decimal%E7%B1%BB%E5%9E%8B%E8%AE%A1%E7%AE%97%2C%E4%BD%86%E6%98%AF%E6%88%91%E6%B1%82%E5%B9%82%2C%E8%B6%85%E5%87%BA%E4%BA%86decimal%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%8C%83%E5%9B%B4%2C)
C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,
C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01
百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,
C# 中计算 double 类型时出错,0.1*0.1 为什么不是等于0.01百度了一下说是精度问题,说是换 decimal类型计算,但是我求幂,超出了decimal类型的范围,
浮点比较式不能用等于判断的.计算机处理的时候是会出现偏差的.一般都是设置一个偏差值比较.计算机的本身的限制没有办法.如果是确定了精度的话可以取整比较,不过是会有点偏差的
假设你的数值精度只有小数点后3位,那就直接四舍五入到小点后三位,然后作为字符串比较或者乘1000取整比较