gpt4 book ai didi

c# - 如何确定小数/ double 是否为整数?

转载 作者:IT王子 更新时间:2023-10-29 03:29:38 28 4
gpt4 key购买 nike

如何判断小数或 double 值是整数?

例如:

decimal d = 5.0; // Would be true
decimal f = 5.5; // Would be false

double d = 5.0; // Would be true
double f = 5.5; // Would be false

我想知道这一点的原因是,我可以通过编程方式确定是否要使用 .ToString("N0").ToString("N2")。如果没有小数点值,那么我不想显示它。

最佳答案

对于 float ,n % 1 == 0 通常是检查小数点后是否有任何内容的方法。

public static void Main (string[] args)
{
decimal d = 3.1M;
Console.WriteLine((d % 1) == 0);
d = 3.0M;
Console.WriteLine((d % 1) == 0);
}

输出:

False
True

更新: 正如@Adrian Lopez 在下面提到的,与较小的值 epsilon 进行比较将丢弃浮点计算错误计算。由于问题是关于 double 值的,下面将是一个更浮点计算证明的答案:

Math.Abs(d % 1) <= (Double.Epsilon * 100)

关于c# - 如何确定小数/ double 是否为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2751593/

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