代码之家  ›  专栏  ›  技术社区  ›  Haim Evgi

百分比显示问题

  •  2
  • Haim Evgi  · 技术社区  · 14 年前

    我有一个值,我计算在0到100之间, 数字格式

    $format_number = number_format($number, 2, '.', '');
    

    问题是,即使计算数字是整数,如: 100

    它的表演 100.00

    但我想把它显示成:100

    2 回复  |  直到 10 年前
        1
  •  4
  •   Community CDub    7 年前

    这就是 最短的 据我所知。

    $digits =        (is_numeric($number) && intval($number) == $number ? 0 : 2);
    $format_number = number_format($number, $digits, '.', '');
    

    这个 is_numeric intval this SO question

        2
  •  2
  •   bjelli    14 年前

    所以你想在小数点后保留两个小数位的精度,但不保留整数的.00?我会使用sprintf:

    $numbers = Array(3.141, 5.87876, 10.9999, 100);
    
    
    foreach( $numbers as $n ) {
        $string = sprintf("%6.2f\n", $n);
        $string = str_replace(".00", "   ", $string);
        echo $string;
    }
    

      3.14
      5.88
     11   
    100