0

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

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

我不想做一些棘手的事情explode或类似的事情,我希望有一种有效的方法来做到这一点。

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

4

2 回答 2

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;
} 
于 2012-10-14T16:07:47.377 回答
0

我选择使用此代码:

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

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

于 2012-10-14T16:56:50.433 回答