【问题标题】:Strip Price decimals when necessary必要时去除价格小数
【发布时间】:2011-06-19 13:46:53
【问题描述】:

如果我要在 PHP 中输​​出两个价格,这更像是一个美学问题:

(第一个是123.45,第二个是123.00

有没有一种方法可以在必要时从第二个价格中删除 .00(仅显示为 = 123),但如果价格的数字大于 0(如第一个价格),则保留它?)。

任何帮助都会很棒,谢谢!

TC

【问题讨论】:

    标签: php decimal currency


    【解决方案1】:

    怎么样...

    $value = preg_replace('~\.0+$~','',$value);
    

    【讨论】:

    • 我其实很喜欢这个。小巧紧凑,干得好。
    • 非常好,感谢它的简单性!
    【解决方案2】:

    如果不想使用(慢)正则表达式,可以使用str_replace:

    $value = str_replace('.00', '', $value);
    

    注意:我假设您不想将“123.10”更改为“123.1”,您只想删除双零,对吧?

    【讨论】:

      【解决方案3】:
      function round2($decimal,$places = 2){
        $decimal = round($decimal,$places);
        if (floor($decimal)==$decimal)
          return (string)floor($decimal);
        return $decimal;
      }
      echo round2(123.45)."<br />".round2(123.00);
      

      Something like that?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-11
        • 2022-08-11
        • 2018-10-05
        • 1970-01-01
        • 2013-07-02
        • 1970-01-01
        相关资源
        最近更新 更多