将处理后的浮点值类型转换为 int 会降低实际值
Typecasting processed float value to int reduces the actual value
在C++中,floor(9099.96 *100.0(给了我答案,就像909995一样。我期待909996。
我想不出这里的解释。任何帮助将不胜感激。谢谢。
这是正确的结果:根据IEEE754计算器,9099.96
的值表示为double
中的9099.9599609375
。乘以 100
后,你会得到909995.99609375
.服用floor
会给你909995
。
试试 ceil。它将始终舍入下一个最大的数字,在这种情况下,这将为您提供909996。您可能还想查看圆形函数。
相关文章:
- 将双精度值分配给 int 数组时的类型转换
- 使用模板在size_t和int之间进行隐式类型转换
- 复制初始化 - 从 'int' 类型转换为非标量类型
- 无法将 int 类型转换为时间类型(我的类类型)
- 避免将 Int 转换为双重类型转换舍入
- 类型转换<int>的舍入问题
- 如何将 'int *' 类型的 swig 对象转换为 ctypes int*
- 类型转换指向 int 的 void 指针时出错
- 为什么C/C++会自动将char/wchar_t/short/bool/enum类型转换为int
- 如何将 void 指针类型转换为 int 指针,然后在其中存储 int
- C++简单的矢量程序中从 int 类型转换为非标量类型
- 将指针类型转换为int会崩溃
- 'Int'不可转换为类型 'double'
- 将无符号int类型转换为无符号长int C++
- 类型转换时这是什么意思 *(int*)&x?
- 将常量字符* 类型转换为 int 数组
- c++需要将int类型转换为无符号int
- c++将int类型转换为联合类型
- 在计算过程中将int类型转换为long long的优点是什么?
- size_t除以int类型转换规则