-2

我需要转换一个字符串,比如 37152548 到 371525,48 或 371525.48 我正在尝试number_format()floatval()不成功。

$var = '37152548';

$var = number_format($var, 2);

echo $var; // output 37,152,548.00
4

3 回答 3

2

你可以试试

$var = '37152548';
echo number_format($var / 100, 2, ".", "");

输出

371525.48 
于 2013-07-10T16:23:39.250 回答
1

它工作正常。37152548 是一个整数,所以数字格式只会添加逗号。如果您希望最后 2 个数字在小数点的另一侧,则需要将其除以 100

$var = number_format($var/100, 2);

如果 var 是“371525.48”,那么它将按照您想要的方式对其进行格式化。如果您想要不带逗号,请尝试

$var = number_format($var/100, 2,'.','');
于 2013-07-10T16:23:31.160 回答
0

无论如何,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 的别名。

于 2013-07-10T16:23:08.833 回答