如何验证在php中只接受浮点值

时间:2014-02-10 10:28:09

标签: php

我希望使用php验证字段。要在该字段中输入的值应为浮点值。没有其他人可以接受。甚至不是整数。它应该接受5.2或4.1等值。也不接受3或56或123等整数。希望很清楚。

提前致谢

3 个答案:

答案 0 :(得分:1)

利用PHP中的is_float

<?php
if (is_float(53)) {
    echo "is float\n";
} else {
    echo "is not float\n";  //<---- This will be printed !
}

Demo

答案 1 :(得分:0)

is_float会因字符串失败(例如获取或提交提交)。要检查值是否为数字,请使用is_numeric。要检查浮点值,强制转换为整数并检查是否相等:

function is_float_value($value) {
    return is_numeric($value) && ('' . (int)$value) !== "$value";
}

echo is_float_value("53.1") ? "yes\n" : "no\n"; // yes
echo is_float_value(53.1)   ? "yes\n" : "no\n"; // yes
echo is_float_value("0.0")  ? "yes\n" : "no\n"; // yes
echo is_float_value(0.0)    ? "yes\n" : "no\n"; // no - internally represented as 0
echo is_float_value("53")   ? "yes\n" : "no\n"; // no
echo is_float_value(53)     ? "yes\n" : "no\n"; // no

答案 2 :(得分:0)

$x='1.23';
if(preg_match('/^(\d)*\.(\d)+$/',$x)){
    echo 'yes';
}else{
    echo 'No';
}

您可以使用正则表达式进行检查,因为从文本字段收到的值将为字符串。