gpt4 book ai didi

php - 使用 FILTER_VALIDATE_FLOAT 时接受 '.' 或 ',' 作为小数分隔符?

转载 作者:可可西里 更新时间:2023-11-01 00:42:42 30 4
gpt4 key购买 nike

我正在使用 PHP filter_input 函数来解析 HTML 表单输入。其中一个输入字段表示金额。我希望我会有一些用户使用逗号,一些用户使用点作为小数点分隔符。 FILTER_VALIDATE_FLOAT 过滤器有一个小数点选项,但我还没有想出一个干净的方法来接受这两个字符作为小数点分隔符。

目前我的代码看起来像下面这行,但这不接受像 123.45 这样的金额。

$money = filter_input(INPUT_POST, 'money', FILTER_VALIDATE_FLOAT, array('options' => array('decimal' => ',')));

是否有任何标准/干净的方法可以接受多种类型的小数点分隔符,而无需编写自定义解析函数?

最佳答案

我使用 filter_var 而不是 filter_input 重写了我的代码,并使用了 hd 的 str_replace 技巧。最终结果类似于:

$temp_money = str_replace(".", ",", $_POST['money']);
$money = filter_var($temp_money, FILTER_VALIDATE_FLOAT, array('options' => array('decimal' => ',')));

如果 $_POST['money'] 为 null 那么 $money 也将为 null,这与 filter_input 的行为相同,所以我的其余验证代码不必更改。

关于php - 使用 FILTER_VALIDATE_FLOAT 时接受 '.' 或 ',' 作为小数分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30166409/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com