【问题标题】:How to convert 11,22,33 into 10, 20 and 30 in PHP?如何在 PHP 中将 11、22、33 转换为 10、20 和 30?
【发布时间】:2015-06-03 08:06:27
【问题描述】:

我不知道如何正确命名问题(请告诉我这种数字叫什么)。

我想将 2 位数字转换为 10 位整除数。例如,我期望:

  • 15变成10
  • 23变成20
  • 38变30
  • 999变成900
  • 9999变成9000

我尝试在谷歌上搜索解决方案,但我不知道如何输入正确的单词。

【问题讨论】:

  • 你应该通过除以 10(00,ect..) 将其转换为浮点数,然后将其转换为 int 并再次乘以用于除法的相同数字

标签: php numbers int


【解决方案1】:

简单,使用PHP落地函数:http://php.net/manual/en/function.floor.php

floor($number/10) * 10

【讨论】:

    【解决方案2】:

    我写了一个简单的函数应该可以工作:

    <?php
    function roundDown($var){
        $len = strlen($var)-1;
        $divide = 1;
        for($i=1;$i<=$len;$i++){
            $divide .= 0;
        }
    
    
        return floor($var/$divide)*$divide;
    }
    
    echo roundDown(9999);
    

    【讨论】:

      【解决方案3】:

      最简单的方法是除以十,然后是底值,再乘以十。 (Floor method - phpdocs)

      floor($number/10)*10
      

      【讨论】:

        【解决方案4】:

        使用round:

        echo round(1241757, -6); // 1000000

        来自http://php.net/manual/en/function.round.php

        【讨论】:

          【解决方案5】:

          您正在寻找“一个重要人物”。 我认为这个答案提供了一个很好的解决方案:

          How to round down to the nearest significant figure in php

          短格式:

          $x = $y - $y % pow(10, floor(log10($y)));
          

          【讨论】:

            猜你喜欢
            • 2023-01-13
            • 1970-01-01
            • 2023-03-04
            • 2012-10-07
            • 1970-01-01
            • 2018-07-10
            • 1970-01-01
            • 1970-01-01
            • 2019-10-09
            相关资源
            最近更新 更多