dszm02606009 2016-04-10 13:35
浏览 34
已采纳

如何进行数字轮?

I want 3000 for all these numbers:

3001 - 3500 - 3999

I want 40000 for all these numbers:

40000.3 - 40101 - 48000.8 - 49901

I want 20 for all these numbers:

21 - 25.2 - 29

There is two PHP function to make a digit round (floor and round) But none of them don't act exactly what I need.

Note: I don't know my number is contains how many digits. If fact it is changing.

Is there any approach to do that?

  • 写回答

3条回答 默认 最新

  • dsajdgjadwqe3247382 2016-04-10 13:45
    关注

    There are "many" ways how to achieve this. One is this:

    <?php
    
    echo roundNumber( 29 )."<br>";
    echo roundNumber( 590 )."<br>";
    echo roundNumber( 3670 )."<br>";
    echo roundNumber( 49589 )."<br>";
    
    function roundNumber( $number )
    {
        $digitCount = floor( log10( $number ) ) ;
        $base10     = pow( 10, $digitCount );
        return floor( $number /  $base10 ) * $base10;
    }
    ?>
    

    The output is this:

    20
    500
    3000
    40000
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据