我的脚本通过将另外两个数字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
答案 0 :(得分:2)
number_format
。它的返回值不应该像你那样用于计算。
示例:
如果$A = 1045;
如果您将number_format($A,2)
视为一个数字1,045.00
作为逗号,则1,045.00
将1
为1/2
,其余字符将被忽略,0.5
为{{} 1}}你得到的。
答案 1 :(得分:2)
你想要round(A, 2)
,而不是number_format()
用于字符串表示(因此命名为“format”)。
答案 2 :(得分:1)
文档显示number_format返回一个字符串。您是否尝试在数学操作之前将number_format()的结果转换为数字类型?
答案 3 :(得分:1)
我有类似的问题。如果我们使用数字格式dec_point和thousand_separator参数可能会更好。你可以使用number_format($ number,2,'。','');它将有助于删除您的千位分隔符
答案 4 :(得分:0)
number_format
将它变成一个数字之间用逗号组成的字符串,逗号会让除数混淆为认为是基于你的语言环境的分数。