简体   繁体   中英

Convert string to float in PHP

I have a string value like this "0.00050722" and I want to convert its data type to double/float .

I've been trying floatval() and doubleval() but it always returns me a value of 0.

I need to get the exact of amount of 0.00050722 in a float datatype.

You just need to (typecast) to the desired type

    <?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));

?>

Should result in:

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

Notice that concatenation also works.

it's work's for me try this

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM