This is really weird. I have this piece of code.
$rewardAmt = $amt;
if(is_float($rewardAmt)){
print_r(\"is float\");die;
} else {
print_r(\"is no
You can use the unary +
operator, which will cast the string to the appropriate type (int
or float
), and then test the resulting data type with is_float
:
$s = "3.00";
$n = +$s;
var_dump( $n ); // float(3)
var_dump( is_float($n) ); // true
$s = "3";
$n = +$s;
var_dump( $n ); // int(3)
var_dump( is_float($n) ); // false