【问题标题】:remove remainder from string in php从php中的字符串中删除剩余部分
【发布时间】:2011-04-20 05:24:35
【问题描述】:

简单的问题。我有这个代码:

total = 41
win   = 48

       echo ($total/$win) * 100 ; 

打印出来

85.416666666667

我需要删除剩余部分,以便打印出:85 %。

【问题讨论】:

  • 去掉余数(总是向下舍入),还是将结果四舍五入到最接近的整数?

标签: php math printing echo


【解决方案1】:

http://www.ideone.com/7JFkI

echo floor(($total/$win) * 100) . '%';

根据如何对数字进行四舍五入,您可能需要将 floor() 替换为其中之一

  • floor() (9.4 → 9, 9.7 → 9)
  • round() (9.4 → 9, 9.7 → 10)
  • ceil() (9.4 → 10, 9.7 → 10)

【讨论】:

  • 哇,3 年了。我刚认识了ceil。谢谢哥们!
【解决方案2】:

你可以使用floor函数:

echo floor(($total/$win) * 100) ; 

【讨论】:

    【解决方案3】:

    使用round(); 函数。

    <?php
    $total = 41;
    $win   = 48;
    
    echo round(($total/$win)*100).' %'; 
    ?>
    

    【讨论】:

      【解决方案4】:

      优雅的方式是使用字符串

      number_format(float $number, int $decimals, string $dec_point, string $thousands_sep);
      

      像这样:

      <?php
      $total = 41;
      $win   = 48;
      
      echo number_format(($total/$win)*100,0,'.').' %'; 
      ?>
      

      【讨论】:

      • 喜欢这个,但就我而言,我必须使用 floor()
      • 那么就这样 number_format(floor(($total/$win)*100),0,'.',',').' %';我还为 number_format 函数添加了缺少的第四个参数。完全忘记了它需要 2 个或 4 个参数。
      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多