gpt4 book ai didi

c# - 测试 float 是否为整数

转载 作者:IT王子 更新时间:2023-10-29 04:45:59 25 4
gpt4 key购买 nike

此代码有效(C# 3)

double d;
if(d == (double)(int)d) ...;
  1. 有更好的方法吗?
  2. 出于无关紧要的原因,我想避免双重施法;除此之外还有什么好的方法呢? (即使它们没有那么好)

注意:有几个人指出了(重要的)一点,即 == 在重新分级 float 时经常会出现问题。在这种情况下,我希望值在 0 到几百之间,并且它们应该是整数(非整数是错误的)所以如果这些点“不应该”对我来说是个问题。

最佳答案

d == Math.Floor(d)

换句话说做同样的事情。

注意:希望您意识到在做这种事情时必须非常小心; float / double 很容易累积微小的错误,导致精确比较(如这个)无缘无故地失败。

关于c# - 测试 float 是否为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/142252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com