Php 100%宽度的数字\u格式()

Php 100%宽度的数字\u格式(),php,Php,我使用php函数number_format()使变量在前端显示时看起来不会太长。(例如:123456789)。我需要更紧凑的东西,所以我只使用: $grade_1_parts = number_format($grade_1_parts, 2, '.', ','); 我使用9个grade_零件变量,如percentage number,当number_format函数压缩所有变量时,会使数值略大于100%(如100,4),这对我来说是个问题,因为它不能显示在一行上。有没有办法解决这个问题?您的

我使用php函数number_format()使变量在前端显示时看起来不会太长。(例如:123456789)。我需要更紧凑的东西,所以我只使用:

$grade_1_parts = number_format($grade_1_parts, 2, '.', ',');

我使用9个grade_零件变量,如percentage number,当number_format函数压缩所有变量时,会使数值略大于100%(如100,4),这对我来说是个问题,因为它不能显示在一行上。有没有办法解决这个问题?

您的问题可能是由于舍入错误造成的。文档不清楚,但第一条评论说,
number\u格式
也对数字进行四舍五入:


所以,你可能加起来比原始值稍微大一些。如果您确定结果应该始终为100%,那么只需在您的行中使用100%硬编码。如果确实要对所有值求和,请先使用原始值,然后再使用
number\u格式
。不过要小心,使用PHP的浮点数进行计算仍然会产生意外的结果:

如果大于100,则将其设置为100。如果不是的话,我用:$grade_2_parts=number_格式(floor($grade_2_parts*pow(10,2))/pow(10,2),2);它是有效的。谢谢!