2

私のスクリプトは、他の 2 つの数値 A を B で除算して数値 X を計算します。

X=A/B

X を計算する前に A で number_format(A,2) を使用すると、非常に奇数になります。実際の数値:

1,045.00 / 5 = 0.2

しかし、除算前に A に number_format を使用しないと、正しい答えが得られます。number_format はどういうわけか A を非数値にしていますか?

1045 / 5 = 209

4

5 に答える 5

2

number_format数値をきれいに印刷する場合にのみ使用してください。その戻り値は、あなたが行ったように計算に使用しないでください。

例:

$A = 1045; その後、数値として扱う場合はコンマになり、残りの文字は無視され、number_format($A,2)取得されます。1,045.001,045.0011/20.5

于 2010-09-26T18:07:49.507 に答える
2

round(A, 2)文字列表現用ではなく、必要ですnumber_format()(したがって、「フォーマット」と呼ばれます)。

于 2010-09-26T18:14:18.823 に答える
1

ドキュメントは、number_format が文字列を返すことを示しています。数学的操作の前に、number_format() の結果を数値型にキャストしようとしましたか?

于 2010-09-26T18:09:42.983 に答える
1

同様の問題がありました。数値形式の dec_point と千の区切りのパラメーターを使用すると、より良い結果が得られる可能性があります。number_format($number, 2, '.', ''); を使用できます。桁区切り記号を削除するのに役立ちます

于 2014-04-18T08:54:07.210 に答える
0

number_format千の間のコンマを含む文字列になります。コンマは、ロケールに基づいたデシメルであると除数を混乱させます。

于 2010-09-26T18:09:01.690 に答える