如果x是一个正的实数,将千分位四舍五入,保留两位小数的表达式是?

问题描述:

如果x是一个正的实数,将千分位四舍五入,保留两位小数的表达式是?
A.0.01*int(100*(x+0.005))
B.0.01*int(100*(x+0.05))
选哪个?为什么?

选A啊,因为千分位对应的是0.001,若千分位上的数小于0.005,则其加上0.005后再乘以100肯定小于1,这样int操作便会将其舍弃,即"四舍";若若千分位上的数大于0.005,则其加上0.005后再乘以100大于1,这样int操作便将千分位上的数值“五入”,使得百分位上加1.