我在脚本中有用户输入 - $_POST['money']
,我想确认它实际上是2位小数的浮点数。
我计划的是$money = (float)@$_POST['money']
,在这种情况下,如果输入非数字,它会将$money
设置为零。但是当用户输入5.234这样的东西时可能会出现这种情况,在这种情况下我也希望钱设置为零。
我不想使用explode
之类的东西或类似的东西,我希望有一种有效的方法来做到这一点。
整数也可以,因为它是有效的数量。
答案 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'];
如果您有更好的解决方案,请发布。