【发布时间】:2015-01-27 00:26:37
【问题描述】:
假设我有以下...
double d = 1.6;
int q = ( ( int ) d );
这是否总是会根据 Java 标准删除小数点,或者它会根据标准向上或向下舍入 (或多或少存在)?
【问题讨论】:
标签: java java-8 standards standards-compliance
假设我有以下...
double d = 1.6;
int q = ( ( int ) d );
这是否总是会根据 Java 标准删除小数点,或者它会根据标准向上或向下舍入 (或多或少存在)?
【问题讨论】:
标签: java java-8 standards standards-compliance
将double 转换为int 总是将值设为小于它的最大整数,但试试这个:
int q = (int) Math.round(d); // rounded instead of floored
【讨论】: