计算机中的四舍五入操作

我们先要明确一点:计算机中根本不存在四舍五入的操作,我们所熟知的%.1f,%.2f都是些巧合,只不过这种巧合很多,使我们误认为是一种平常的操作,那我们先看一道题.

计算机中的四舍五入操作_第1张图片

 我们能够清晰的看见这里已经出现了问题了,数学上的结果应该为18.6,但是计算机算出来的却是18.5,这里的是因为计算机中的数字是点状出现的不是线状连续的,所以就出现了下列的问题(他会就近取数)

计算机中的四舍五入操作_第2张图片

 这样我们就已经解决了这个问题。

我们的方法是:想要精确几位,我们就乘以10的多少次方,然后加上0.5,再将他们转成整形(一定要转成整型,必须舍弃小数后的那些数),然后再/10.0,(这个数就转成了double型)

float,double的处理方式都是一样的,只不过他们的特殊情况会出现的不一样而已

你可能感兴趣的:(c语言)