在 PHP 中舍入到最大千、百等

2022-01-17 00:00:00 numbers rounding php

我有一个非常简单的 PHP 问题,但我不知道该怎么做.

I have a pretty simple PHP question but I'm not sure how to do that.

我想根据数据库返回的值四舍五入到最大百或千.

I want to round to the max hundred or thousand depending on the value returned by the database.

这里有几个我需要的例子:

Here are a few examples of what I need :

  • DB返回值11,我要PHP输出20
  • DB返回值104,我要PHP输出200
  • DB返回值1404,我要PHP输出2000
  • DB返回值10241,我要PHP输出11000

等等等等

我想根据传递的值创建一个自动函数来执行此操作.

I would like to create an automatic function to do that, according to the value passed.

谢谢!

推荐答案

最终实现,灵感来自 Shaunkak's回答和SO的评论.感谢这些胸罩..s.现场演示

Final implementation, inspired from Shaunkak's answer and SO's comment. Thanks for these bra..s. live demo

<?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;
}

相关文章