当我使用它时:
preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', 0.0001);
返回值为1,当我使用它时:
preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', 0.00001);
返回值为0.
有人可以说我为什么好吗?谢谢!
答案 0 :(得分:5)
因为小浮点数通常使用指数表示法显示,所以0.00001
转换为1.0E-5
,这与正则表达式不匹配。如果你只是这样做,你可以看到:
echo 0.00001;
正则表达式应该与字符串一起使用,而不是数字。
preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', '0.00001');