标签: c++ casting standards narrowing
C ++标准对缩小从double到int类型的转换有什么保证? 是否与Q31328190中解释的Java相同:
答案 0 :(得分:5)
不,它与Java不同。如果“截断小数部分”的数学结果不能用目标类型表示,则行为未定义。
从4.9 [conv.fpint] / 1(“浮动积分转换”):
浮点类型的prvalue可以转换为整数类型的prvalue。转换截断;也就是说,丢弃小数部分。如果截断的值无法在目标类型中表示,则行为未定义。