Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查php post值是否为数字且格式正确_Php - Fatal编程技术网

检查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()可以工作