C语言中对于浮点数进行(int)转换时,计算机是按照四舍五入呢?还是只取整数部分?

日期:2017-09-25 11:11:41 人气:1

C语言中对于浮点数进行(int)转换时,计算机是按照四舍五入呢?还是只取整数部分?

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