PHP商业圆形货币

hal*_*.am 4 php currency rounding

亲爱的Stackoverflowers,

我想知道您可以针对以下问题提出哪些解决方案:

这就是我所拥有的:

13.90
5.03
7.06
2.51
Run Code Online (Sandbox Code Playgroud)

这就是我要的:

13.90
5.05
7.05
2.50
Run Code Online (Sandbox Code Playgroud)

基本上:我想在商业基础上进行货币兑换.最后一个小数可能只舍入到5或10(向第一个数字加1)或向下舍入到5或0.

Dyl*_*lan 9

四舍五入到最近的通用公式x:

round(input / x) * x
Run Code Online (Sandbox Code Playgroud)

以及您的用例示例:

round(5.03 / .05) * .05 = round(100.6) * .05 = 101 * .05 = 5.05
Run Code Online (Sandbox Code Playgroud)


Mad*_*iha 5

<?php

$int = 5.03;
$int *= 20;
$int = ceil($int);
$int /= 20;

echo $int;
Run Code Online (Sandbox Code Playgroud)

您只需要通过乘以数字来定义舍入的分辨率(稍后再将其除以).这是一个简单的数学问题.