gpt4 book ai didi

c++ - 使用 std::floor 的明显不一致

转载 作者:行者123 更新时间:2023-11-28 06:15:04 25 4
gpt4 key购买 nike

<分区>

我在使用 std::floor 时注意到一些非常奇怪的事情。我正在 ubuntu 上编译 C++。我正在尝试将 double 值降低到最接近的百分之一,并且正在检查输入值已经四舍五入到最接近的百分之一的情况,但我得到的结果不一致。

我的代码:

double hundredthFloor(double value){
double hundredth = 0.01;
return hundredth * std::floor( value / hundredth);
}

在大多数情况下它是有效的,

value = 99.87 gives output 99.87

value = 99.879 gives output 99.87

value = 0.39 gives output 0.39

但是:

value = 0.29 gives value 0.28

value = 0.47 gives value 0.46

我尝试了很多输入值,到目前为止,似乎只有 0.29 和 0.47 的输出值比我的预期低一位小数。

有人见过类似的东西吗?

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