fra*_*ool 2 php numbers rounding
我有一个非常简单的 PHP 问题,但我不知道该怎么做。
我想根据数据库返回的值四舍五入到最大一百或一千。
以下是我需要的一些示例:
等等等等
我想根据传递的值创建一个自动函数来做到这一点。
谢谢!
最终实现,灵感来自Shaunkak 的回答和 SO 的评论。谢谢你的这些胸罩... 现场演示
<?php
$val = 10241.67;
if($val >= 1000) {
echo ceil($val / 1000) * 1000;
}
else {
$length = strlen(ceil($val));
$times = str_pad('1', $length, "0");
echo ceil($val / $times) * $times;
}
Run Code Online (Sandbox Code Playgroud)
真的对每个使用字符串操作的人印象不深!
使用以 10 为底的对数来获取输入中零的数量。
log 10 x = y 等于 10 y = x
$zeros = floor(log10($input));
$zeros = min($zeros, 3); // Only round to tens, hundreds or thousands
$tens = pow(10, $zeros);
$result = ceil($input / $tens) * $tens;
Run Code Online (Sandbox Code Playgroud)
https://www.tehplayground.com/IvfOu20JRccc8Cuc
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |