gpt4 book ai didi

d - 为什么 to!int() 不能正常工作?

转载 作者:行者123 更新时间:2023-12-04 06:45:03 25 4
gpt4 key购买 nike

为什么这个断言会失败?

import std.conv;

void main()
{
auto y = 0.6, delta=0.1;
auto r = to!int(y/delta);
assert(r == 6);
}

r 的值应该是 6 而它是 5,为什么?

最佳答案

这可能是因为 0.6 不能完全用浮点数表示。你写了 0.6,但这并不是你得到的——你得到的是 0.599999999。当你除以 0.1 时,你会得到类似 5.99999999 的结果,它会转换为 5 的整数(通过向下取整)。

其他语言的示例:

C#:Why is (double)0.6f > (double)(6/10f)?

java :Can someone please explain me that in java why 0.6 is <0.6f but 0.7is >=0.7f

关于d - 为什么 to!int() 不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27654125/

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