防止数字_格式取整数字-添加逗号并保留小数点-PHP

防止数字_格式取整数字-添加逗号并保留小数点-PHP,php,decimal,number-formatting,Php,Decimal,Number Formatting,数字格式添加我想要的逗号,但删除小数 echo number_format("1000000.25"); 这将返回1000000 我希望它能退回1000000美元 我需要逗号和小数,不需要任何数字舍入。我所有的值都是小数。它们的长度各不相同 我必须使用数字格式以外的格式吗 如果您所说的长度变化与小数部分有关,请查看以下代码: function getLen($var){ $tmp = explode('.', $var); if(count($tmp)>1){

数字格式添加我想要的逗号,但删除小数

echo number_format("1000000.25");
这将返回1000000

我希望它能退回1000000美元

我需要逗号和小数,不需要任何数字舍入。我所有的值都是小数。它们的长度各不相同

我必须使用数字格式以外的格式吗

如果您所说的长度变化与小数部分有关,请查看以下代码:

function getLen($var){
    $tmp = explode('.', $var);
    if(count($tmp)>1){
        return strlen($tmp[1]);
    }
}
$var = '1000000.255555'; // '1000000.25'; // '1000000';
echo number_format($var, getLen($var));

一些测试

  • 1000000.255555的输出:
1000000.255555


1000000.25的输出:

1000000.25


1000000的输出:

一百万


它计算
之后有多少个字符,并将其用作
number\u format
函数中的参数

否则,只需使用常量而不是函数调用。
还有一些参考资料


从:

你可以在描述中看到

数字
正在格式化的数字。

小数
设置小数点的数目

还有一点:

[…]如果给定两个参数,则数字的格式为小数 前面带点(“.”)的小数,每个字符之间带逗号(“,”) 成千上万的人

number_format()的文档表示第二个参数用于指定十进制:

echo number_format('1000000.25', 2);
参考:

说明
数字格式采用第二个参数,该参数指定中指出的所需小数位数。Stack overflow answer告诉您如何获取所提供字符串的小数位数

Nice,我没有想到寻找一种方法来获取len xD。冷溶液
echo number_format('1000000.25', 2);
$number = '1000000.25';
echo number_format($number, strlen(substr(strrchr($number, "."), 1)));