检查变量是否为浮点数,最多2个小数位

时间:2012-10-14 16:02:11

标签: php floating-point money-format

我在脚本中有用户输入 - $_POST['money'],我想确认它实际上是2位小数的浮点数。

我计划的是$money = (float)@$_POST['money'],在这种情况下,如果输入非数字,它会将$money设置为零。但是当用户输入5.234这样的东西时可能会出现这种情况,在这种情况下我也希望钱设置为零。

我不想使用explode之类的东西或类似的东西,我希望有一种有效的方法来做到这一点。

整数也可以,因为它是有效的数量。

2 个答案:

答案 0 :(得分:0)

点击此处:

http://php.net/manual/ro/function.is-float.php

在这里

http://php.net/manual/en/function.number-format.php

或使用此功能

function is_deccount($number,$decimal=2){
    $m_factor=pow(10,$decimal);
    if((int)($number*$m_factor)==$number*$m_factor)
        return true;
    else
        return false;
} 

答案 1 :(得分:0)

我选择使用此代码:

$money = (float)(@$_POST['money'] / 0.01) <> (int)(@$_POST['money'] / 0.01) ? 0 : (float)@$_POST['money'];

如果您有更好的解决方案,请发布。