$quantity = filter_input(INPUT_GET, 'quantity', FILTER_SANITIZE_NUMBER_FLOAT);
字符串输入:100.25输出:10025如何保存.字符?
100.25
10025
.
wwtsj6pe1#
或者,使用FILTER_VALIDATE_FLOAT,如果不匹配,请提供快速反馈:
FILTER_VALIDATE_FLOAT
$quantity = (filter_input(INPUT_GET, 'quantity', FILTER_VALIDATE_FLOAT)) ?filter_input(INPUT_GET, 'quantity', FILTER_VALIDATE_FLOAT): "Invalid Decimal Number"; print_r($quantity);
$quantity = (filter_input(INPUT_GET, 'quantity', FILTER_VALIDATE_FLOAT))
?filter_input(INPUT_GET, 'quantity', FILTER_VALIDATE_FLOAT):
"Invalid Decimal Number";
print_r($quantity);
字符串
35g0bw712#
试试这个...
$quantity = filter_input( INPUT_GET, 'quantity', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
$quantity = filter_input(
INPUT_GET,
'quantity',
FILTER_SANITIZE_NUMBER_FLOAT,
FILTER_FLAG_ALLOW_FRACTION
);
字符串CodePad的一个。
gwo2fgha3#
阅读文档http://www.php.net/manual/en/filter.filters.sanitize.php表明FILTER_SANITIZE_NUMBER_FLOAT具有以下效果:删除除数字、+-和可选的.、eE之外的所有字符。把这句不太好的句子转过来:这将从输入中删除除数字(0-9)以外的所有字符。使用可选标志,还可以允许字符。(点),(逗号)e(指数)和E(指数)因此,您的代码示例不是乘法,而是去掉小数点。
FILTER_SANITIZE_NUMBER_FLOAT
解决方案:
您需要在函数调用中设置选项FILTER_FLAG_ALLOW_FRACTION以允许小数点:
$quantity = filter_input(INPUT_GET, 'quantity', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
lhcgjxsq4#
您需要:
$quantity = filter_var(100.25, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);print_r($quantity);
$quantity = filter_var(100.25, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
字符串http://codepad.org/ch66qJru哎呀..你仍然想使用filter_input,因为你目前有以及相同的前两个参数。我结束了使用filter_var,所以我可以在codepad中测试它,忘记把它改回来了:P
filter_input
filter_var
4条答案
按热度按时间wwtsj6pe1#
或者,使用
FILTER_VALIDATE_FLOAT
,如果不匹配,请提供快速反馈:字符串
35g0bw712#
试试这个...
字符串
CodePad的一个。
gwo2fgha3#
阅读文档http://www.php.net/manual/en/filter.filters.sanitize.php表明
FILTER_SANITIZE_NUMBER_FLOAT
具有以下效果:删除除数字、+-和可选的.、eE之外的所有字符。
把这句不太好的句子转过来:
这将从输入中删除除数字(0-9)以外的所有字符。使用可选标志,还可以允许字符。(点),(逗号)e(指数)和E(指数)
因此,您的代码示例不是乘法,而是去掉小数点。
解决方案:
您需要在函数调用中设置选项
FILTER_FLAG_ALLOW_FRACTION
以允许小数点:字符串
lhcgjxsq4#
您需要:
字符串
http://codepad.org/ch66qJru
哎呀..你仍然想使用
filter_input
,因为你目前有以及相同的前两个参数。我结束了使用filter_var
,所以我可以在codepad中测试它,忘记把它改回来了:P