检查php post值是否为数字且格式正确
我需要检查后值是数字和格式良好。我期望的格式是检查php post值是否为数字且格式正确,php,Php,我需要检查后值是数字和格式良好。我期望的格式是 number.number 1.0 11.5 如果POST值没有(DOT)仅1,那么我希望php将其转换为1.0 我试过这个代码,但不起作用 $foo = '2'; $foo = preg_match('/\\d{2}\\:\\d{2}\\.\\d{2}/', $foo); 谢谢:)您基本上需要检查POST数组中的变量是否为浮点/双精度(浮点/双精度是x.x格式的数字类型) 检查字符串是否为浮点数/双倍数 为此,请使用php内置函数:或更准确地
number.number
1.0
11.5
如果POST值没有(DOT)
仅1
,那么我希望php将其转换为1.0
我试过这个代码,但不起作用
$foo = '2';
$foo = preg_match('/\\d{2}\\:\\d{2}\\.\\d{2}/', $foo);
谢谢:)您基本上需要检查POST数组中的变量是否为浮点/双精度(浮点/双精度是x.x格式的数字类型) 检查字符串是否为浮点数/双倍数 为此,请使用php内置函数:或更准确地说:,它将告诉您字符串是否为浮点/双精度 检查字符串是否为整数并将其转换为双精度/浮点值
$final_value;
$value = $_POST["wanted_value"];
if (is_float($value))
{
$final_value = $value;
}
else if (is_int($value))
{
$final_value = number_format($value, 1); // or 2 instead of 1 (2.0 or 2.00)
}
else
{
$final_value = "ERROR";
}
如果不是double,请检查它是否是整数(常规数字):,如果它确实是int,请使用number\u格式将其转换为double,请查看此处的用法:
示例
$final_value;
$value = $_POST["wanted_value"];
if (is_float($value))
{
$final_value = $value;
}
else if (is_int($value))
{
$final_value = number_format($value, 1); // or 2 instead of 1 (2.0 or 2.00)
}
else
{
$final_value = "ERROR";
}
希望这有帮助 工作代码
//$value = '22';
$value = $_POST["input_value"];
if (is_numeric($value)) {
$new_value = number_format($value, 1);
} else {
$new_value = "$value is not numeric. <br>";
}
echo $new_value;
/$value='22';
$value=$\u POST[“输入值”];
如果(是数值($value)){
$new_value=数字_格式($value,1);
}否则{
$new_value=“$value不是数字。
”;
}
echo$new_值;
使用回音号码格式($foo,1)代码>不确定要处理的小数位数,但number\u format()可以工作