关于四舍六入五取偶这件事
作者:互联网
因为被某不知名题毒害而被一群dalao安利的新知识,不适用于全部环境
double a=2.35;
printf("%.1lf",a);
看上面这一段代码,输出是2.4,这没什么问题
double a=2.25;
printf("%.1lf",a);
但这段代码输出的却是2.2,并不符合四舍五入的原则
这就得需要用"四舍六入五取偶"的原则来解释了,如果你保留的下一位正好是5且后面都是0(比如说2.251保留1位就是2.3,因为它第2位以后还有值),就看保留的那位是奇数还是偶数,奇数就+1,偶数不变
就比如说你想给12.15保留一位小数,第2位小数上的数码是5,那就看第1位,是1,奇数,那就给它+1,结果就是12.2
又比如说你想给12.25保留一位小数,第1位是2,偶数,那就不变,结果也是12.2
至于想要四舍五入的解决方法,输出浮点数的时候给它加个1e-10就行了
标签:六入,四舍五入,%.,奇数,五取,保留,偶数,四舍,小数 来源: https://www.cnblogs.com/We269/p/15004167.html