PHP:小数点后的数字四舍五入到最接近的5

PHP:小数点后的数字四舍五入到最接近的5,php,function,Php,Function,我一直在试图找到以下问题的解决方案: 我使用的是科威特货币,最低金额为5菲(硬币),最高金额为20科威特第纳尔(纸币) 数字格式为X.XXX(KD.fils),其中“点”后的最大小数位数为3 KD可以是从0到无穷大的任何数字,但是,FIL仅以5个增量存在:例如,000 FIL、005 FIL、010 FIL、015 FIL、985 FIL、990 FIL,一直到1000(1.000 KD) 鉴于以下情况: 1) 12.583---12.585 2) 12.582---12.580 3) 100.

我一直在试图找到以下问题的解决方案:

我使用的是科威特货币,最低金额为5菲(硬币),最高金额为20科威特第纳尔(纸币)

数字格式为X.XXX(KD.fils),其中“点”后的最大小数位数为3

KD可以是从0到无穷大的任何数字,但是,FIL仅以5个增量存在:例如,000 FIL、005 FIL、010 FIL、015 FIL、985 FIL、990 FIL,一直到1000(1.000 KD)

鉴于以下情况:

1) 12.583---12.585

2) 12.582---12.580

3) 100.247---100.250

4) 100.999---101.000

5) 1009.998---1010.000

6) 1009.992---1009.990

如何将最后三个十进制数字四舍五入到最接近的5,如果该数字存在,如示例4和5中所示,则应将其四舍五入到下一个整数KD,即在示例4中,从100 KD到101 KD(条件是fils超过995时)


如何实现上述目标?

乘以1000,四舍五入,再除以1000。对于第二步,您可以通过简单的搜索在本网站上轻松找到答案。您是否使用浮点数作为货币?如果是这样的话,请查看关于为什么不应该的堆栈溢出问题。乘以1000,四舍五入,再除以1000。对于第二步,您可以通过简单的搜索在本网站上轻松找到答案。您是否使用浮点数作为货币?如果是这样的话,请查看关于为什么不应该的堆栈溢出问题。