C#使用float类型进行计算的时候出错,难道是精度原因?详情见调试

C_sharp_初学者 C_sharp_初学者 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一个本来应该得到205.0的数却得到了204.999985的结果
于是我在调试的时候用几种方法算了一下,结果是这样的
首先说明里面的参数
arraylist对应的那个值为8.2

如果不用(float)会说缺少强制转换

然后YSlice的值是0.4

所以82/0.4的结果应该是20.5

但是*10以后结果本应该是205.0,却成了204.999985

我直接把8.2/0.4的结果拿来*10又没有问题,说明问题出在8.2/0.4*10上

直接/0.4也是不对的,说明不是变量引用的问题

直接*25也没有问题

*10/0.4也出现问题,说明就是这两个一起的时候会有问题

这种情况该怎么解决啊
...全文
评论 12
收藏 已收藏
分享
返回顶部
C_sharp_初学者
C# 111,129 成员 642,538 内容