我需要转换一个字符串,比如 37152548 到 371525,48 或 371525.48 我正在尝试number_format()
但floatval()
不成功。
$var = '37152548';
$var = number_format($var, 2);
echo $var; // output 37,152,548.00
我需要转换一个字符串,比如 37152548 到 371525,48 或 371525.48 我正在尝试number_format()
但floatval()
不成功。
$var = '37152548';
$var = number_format($var, 2);
echo $var; // output 37,152,548.00
你可以试试
$var = '37152548';
echo number_format($var / 100, 2, ".", "");
输出
371525.48
它工作正常。37152548 是一个整数,所以数字格式只会添加逗号。如果您希望最后 2 个数字在小数点的另一侧,则需要将其除以 100
$var = number_format($var/100, 2);
如果 var 是“371525.48”,那么它将按照您想要的方式对其进行格式化。如果您想要不带逗号,请尝试
$var = number_format($var/100, 2,'.','');
无论如何,PHP 都会将您的字符串转换为数字。至于小数位,既然你说:
我需要将一个字符串,如 37152548 转换为 371525,48 或 371525.48
...好吧,除以 100:
$var = '37152548';
echo $var / 100; //outputs 371525.48
如果你想确定你有一个数字,那么使用floatval
(因为它返回一个数字而不是像number_format这样的字符串):
$var = '37152548';
$var = floatval($var) / 100;
echo $var; //outputs: 371525.48
echo '<br>'; //new line
//And you can do calculations:
echo $var - 500; //outputs: 371025.48
floatval 将您的字符串转换为浮点变量。注意:PHP 不区分单精度和双精度,实际上doubleval
只是 floatval 的别名。