今天遇到了一个不大不小的问题,本着不断积累的思想,在这里将问题记下来,以备日后温故而知新,也想拿出来和大家探讨探讨。
delphi的format函数有四舍五入的功能大家都知道,但是它又不是严格的按照四舍五入。下面举一个例子。
比如1.9875这个数,如果保留三位的话程序会显示是1.987,现在是五舍六入;但是如果是1.9865的话程序就会显示1.987,又变成了四舍五入。后来研究了一下发现,是1.9875的小数的第三位那有问题,如果千分位上是单数,则是五舍六入,如果千分位上是双数,则是四舍五入。本着刨根问底的精神又尝试了一下十分位上的数,发现是与千分位上的规律相反的规律,不知道这是delphi开发者故意设置的呢,还是当时留下来的一个小bug呢?