gpt4 book ai didi

c# - 为什么 Math.Floor(Double) 返回一个 Double 类型的值?

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

我需要从小数或 double 中获取左侧整数值。例如:我需要从 4.6 中获取值 4。我尝试使用 Math.Floor 函数,但它返回一个 double 值,例如:它从 4.6 返回 4.0。 MSDN 文档说它返回一个整数值。我在这里错过了什么吗?或者是否有不同的方法来实现我正在寻找的东西?

最佳答案

double 的范围比intlong 的范围大得多。考虑这段代码:

double d = 100000000000000000000d;
long x = Math.Floor(d); // Invalid in reality

整数超出了 long 的范围 - 那么您希望发生什么?

通常您知道该值将实际上intlong 的范围内,因此您将其转换为:

double d = 1000.1234d;
int x = (int) Math.Floor(d);

但是该转换的责任在于开发人员,而不是 Math.Floor 本身。如果所有超出 long 范围的值都以异常的形式失败,则可能会造成不必要的限制。

关于c# - 为什么 Math.Floor(Double) 返回一个 Double 类型的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1348892/

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