【发布时间】:2016-11-01 12:00:11
【问题描述】:
数字格式添加了我想要的逗号,但删除了小数。
echo number_format("1000000.25");
这将返回 1,000,000
我希望它返回 1,000,000.25
我需要逗号和小数,没有任何数字四舍五入。我所有的值都是小数。它们的长度各不相同。
我必须使用数字格式以外的东西吗?
【问题讨论】:
标签: php decimal number-formatting
数字格式添加了我想要的逗号,但删除了小数。
echo number_format("1000000.25");
这将返回 1,000,000
我希望它返回 1,000,000.25
我需要逗号和小数,没有任何数字四舍五入。我所有的值都是小数。它们的长度各不相同。
我必须使用数字格式以外的东西吗?
【问题讨论】:
标签: php decimal number-formatting
如果您所说的长度不同与小数部分有关,请查看以下代码:
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 的输出:1,000,000.255555
1000000.25 的输出:
1,000,000.25
1000000 的输出:
1,000,000
它计算. 之后有多少个字符,并将其用作number_format 函数中的参数;
否则只使用一个常数而不是函数调用。
string number_format ( float $number [, int $decimals = 0 ] )
你可以在描述中看到
数字
正在格式化的数字。小数
设置小数位数。
还有一点:
[...]如果给定两个参数,数字将被格式化为小数 小数点前面有一个点(“.”),每个小数之间有一个逗号(“,”) 数千人。
【讨论】:
number_format() 的文档表明第二个参数用于指定小数:
echo number_format('1000000.25', 2);
【讨论】: