全心思齐网

double转化为int是四舍五入吗?

是只取整数部分的。也就是,可能是1.999999999然后转换为int就是1,所以浮点数向int转换,会丢失精度。为了避免这个,建议如果想取到整数部分。可以使用floatb;inta;a=(b+0.5);这样写的话,就是四舍五入。如果写成a=b.可能有0.99999999999被截断,a就是0的情况。

匿名回答于2024-05-25 23:03:17


相关知识问答