PHP typecasting float->int

后端 未结 2 1862
深忆病人
深忆病人 2020-12-06 14:11

Given this PHP code:

// total is 71.24 (float)
$value = $total * 100;
var_dump($value);
$valuecast = (int)$value;
var_dump($valuecast);
settype($value, \'int         


        
相关标签:
2条回答
  • 2020-12-06 14:52

    For float to int, I'd suggest round. This is to cater to IEEE float imprecision.

    0 讨论(0)
  • 2020-12-06 15:12

    From PHP Manual on TypeCasting Float to Integer

    Warning

    Never cast an unknown fraction to integer, as this can sometimes lead to unexpected results.

    <?php
        echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
    ?>
    

    See also the warning about float precision.

    0 讨论(0)
提交回复
热议问题