19

0.45 を 45% にフォーマットしたいと思います。

のようなことができることはわかっていますFLOOR($x*100).'%'が、より良い方法があるかどうか疑問に思っています (より良い方法は、より標準的であり、必ずしも高速であるとは限りません)。

1つの考えはhttp://php.net/manual/en/class.numberformatter.phpです。これはより良い方法ですか?誰かがそれを使用したことがありますか?例を示すことができますか? ありがとう

4

2 に答える 2

58

ほとんどの場合、round代わりにfloor. しかし、それ以外の場合は、それが最も「標準的な」方法です。または、次のように使用できますsprintf

sprintf("%.2f%%", $x * 100)$x のパーセンテージを小数点以下 2 桁の精度で出力し、その後にパーセント記号を出力します。

これを行う最短の方法NumberFormatterは次のとおりです。

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

アプリケーションがさまざまなロケールをサポートしている場合は、これを行う方がよいでしょうが、それ以外の場合は、コードを 1 行追加するだけであまりメリットがありません。

于 2013-01-25T16:01:33.717 に答える
6

関数を使用することもできます。

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

次に、次を使用して結果を表示します。

percent($lab_fee)
于 2013-11-06T19:32:56.800 に答える