如何使用number_format获得数千个分隔符?

时间:2019-03-19 01:09:21

标签: php

number_format problem <----我的图片,其数字格式为1.00而不是1,000,000

我正在使用此代码输出链接:

label_cell(
    "<a target='_blank' " . ($amount<0 ? 'class="redfg"' : '')
    ."href='$path_to_root/sales/inquiry/customer_inquiry.php?amount=".$amount."'"
    ." onclick=\"javascript:openWindow(this.href,this.target); return false;\" >"
    . number_format($amount, 2, ',', '') // <-- how to display more than 1,000,000 instead of this would be display 1,00 ?
    ."</a>", $parms);

我想在标题中显示数千个分隔符。例如:

  • 1000000应该是1,000,000.00
  • 100应该是100.00

但是,我得到了

  • 10000001000000,00
  • 100100,00

我该如何解决?

2 个答案:

答案 0 :(得分:0)

听起来您的问题是您不是以1000000之类的数字开头,而是以"1,000,000"之类的字符串开头。

一种选择是在将$ amount传递给number_format之前删除逗号:

$amount = "1,000,035";
$amount = str_replace(',', '', $amount);
echo number_format ($amount, 2, '.', ',');
// output: 1,000,035.00

最好转到数据源,然后尝试从中删除逗号。您会发现不方便地使用这些临时方法删除这些逗号。

答案 1 :(得分:0)

您可能想要

number_format($amount, 2, '.', ',');

这会将1000035转换为字符串'1,000,035.00'。第三个参数是小数点分隔符,第四个参数是千位分隔符。

如果根本不需要小数,请设置第二个参数0并删除点。

number_format($amount, 2, '', ',');

输出为'1,000,035'