在PHP中将字符串转换为float

时间:2014-03-20 03:40:12

标签: php string double decimal

我有一个像这样的字符串值" 0.00050722"我想将其数据类型转换为double/float

我一直在尝试floatval()doubleval(),但它总是返回值0。

我需要在float数据类型中获得0.00050722的确切数量。

3 个答案:

答案 0 :(得分:4)

您只需要(typecast)到所需的类型

    <?php
    $string = "0.00050722";
    $float = (float) $string;
    $float2 = $string + 0.0; //this works as well.
    $floatval = floatval($string);
    $double = (double) $string;

    // TEST
    printf("string:   %s - %d<br>", $string, is_float ($string));
    printf("float :   %g - %d<br>", $float, is_float ($float));
    printf("float2:   %g - %d<br>", $float2, is_float ($float2));
    printf("floatval: %g - %d<br>", $floatval, is_float($floatval));
    printf("double:   %g - %d<br>", $string, is_double ($double));

?>

应该导致:

string:   0.00050722 - 0
float :   0.00050722 - 1
float2:   0.00050722 - 1
floatval: 0.00050722 - 1
double:   0.00050722 - 1

请注意,连接也有效。

答案 1 :(得分:1)

这对我有用 试试这个

<?php
    $string = "0.00050722";
    $num = floatval($string);
    echo $num;   // output 0.00050722
?>

答案 2 :(得分:0)

对于一个项目,我尝试编写此函数,以将.087 0.87 1.000,87之类的字符串转换为浮点数:

PYTHONPATH