在PHP中将String转换为double

时间:2013-07-10 16:19:02

标签: php string number-formatting

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

$var = '37152548';

$var = number_format($var, 2);

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

3 个答案:

答案 0 :(得分:2)

你可以尝试

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

输出

371525.48 

答案 1 :(得分:1)

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

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

如果var是'371525.48',那么它会按照你想要的方式格式化它。如果你想要它没有逗号,那么试试

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

答案 2 :(得分: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的别名。