千位分隔符php

Posted

技术标签:

【中文标题】千位分隔符php【英文标题】:thousand separator php 【发布时间】:2013-02-25 13:55:26 【问题描述】:

我从数据库中提取了这个$number = 100000.5;。 我需要的是格式化为100.000,5

str_replace + number_format 我猜到了。

我的替换工作完美,

echo str_replace('.', ',', $row['anskaf_sum']);

(返回:100000,5) 但是当我添加 number_format 时,我以某种方式失败了

number_format($row['anskaf_sum'] , 0, ',', '.');

返回

101 

我尝试了其他一些方法,但我似乎无法更接近我需要的答案

谢谢。

【问题讨论】:

【参考方案1】:

你确定你的 $row['anskaf_sum'] 没有持有你不期望的一些价值吗? 因为:

<?php
        $number = 100000.5;
        echo number_format($number, 1, ",", ".");
?>

...这正是您想要的结果:100.000,5

【讨论】:

没看到 0 和 1 的小错误 :) 但是,即使它是 0 仍然不应该产生你提到的 101 结果,而是 100.001 ;-)。我也回答了你的另一个问题,所以你可以看看。也许它可以解决您遇到的其他一些问题。 延迟响应 - 但如果他已经完成了 str_replace 以将逗号注入数字,那么数字格式脚本在尝试格式化格式错误的数字时肯定会出现其他数字的问题。仅使用此处提到的 number_format 就足够了。

以上是关于千位分隔符php的主要内容,如果未能解决你的问题,请参考以下文章

php添加千位分隔符而不调整小数位

PHP在数字中添加千位分隔符并保持前导零

如何让php的localeconv返回正确的千位分隔符

是否有任何 PHP 函数可以将数字转换为具有千位分隔符的货币?

PHP字符串函数 number_format(以千位分隔符方式格式化一个数字)

如何格式化数字来定义千位分隔符?