使用PHP格式化百分比

时间:2013-01-25 15:57:22

标签: php

我想将0.45格式化为45%。

我知道我可以做FLOOR($x*100).'%'这样的事情,但想知道是否有更好的方法(更好的定义为更标准,更不一定更快)。

一个想法是http://php.net/manual/en/class.numberformatter.php。这是一个更好的方法吗?有没有人用它,你能展示一个例子吗?感谢

2 个答案:

答案 0 :(得分:43)

最有可能的是,您需要round而不是floor。但除此之外,这将是最“标准”的方式。或者,您可以使用sprintf,例如:

sprintf("%.2f%%", $x * 100)将打印$ x的百分比,精确度为两位小数,之后为百分号。

通过NumberFormatter执行此操作的最短方式是:

$formatter = new NumberFormatter('en_US', NumberFormatter::PERCENT);
print $formatter->format(.45);

如果你的应用程序支持各种语言环境,那么最好这样做,但是你只是添加另一行代码而没有太大的好处。

答案 1 :(得分:3)

您也可以使用功能。

function percent($number){
    return $number * 100 . '%';
}

然后使用以下内容显示结果。

percent($lab_fee)