Cod*_*ien 3 php decimal number-formatting
数字格式添加我想要的逗号但删除小数.
echo number_format("1000000.25");
Run Code Online (Sandbox Code Playgroud)
这将返回1,000,000
我希望它返回1,000,000.25
我需要逗号和小数,没有任何数字四舍五入.我的所有值都是小数.它们的长度各不相同.
我是否必须使用数字格式以外的其他内容?
如果你的意思是它们的长度不同与小数部分有关,请看一下这段代码:
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));
Run Code Online (Sandbox Code Playgroud)
1000000.255555:1,000,000.255555
输出1000000.25:
1,000,000.25
输出1000000:
百万
它计算了之后有多少个字符,.并将其用作函数中的number_format参数;
否则只需使用常数而不是函数调用.
string number_format ( float $number [, int $decimals = 0 ] )
Run Code Online (Sandbox Code Playgroud)
你可以在描述中看到
数
数被格式化.decimals
设置小数点数.
还有一点:
[...]如果给出了两个参数,则数字将被格式化为小数位小数,前面有一个点("."),每组数千个之间有一个逗号(",").
$number = '1000000.25';
echo number_format($number, strlen(substr(strrchr($number, "."), 1)));
Run Code Online (Sandbox Code Playgroud)
说明:Number Format采用第二个参数,该参数指定文档中指出的所需小数位数.此 Stack溢出答案告诉您如何获取所提供字符串的小数位数