我需要檢查POST值是數字和格式良好。我預期的格式是檢查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值是數字和格式良好。我預期的格式是檢查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);
謝謝:)
工作代碼
//$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;
你基本上要檢查是否從POST數組變量是浮點值/或雙不(浮動/雙處於x.x中的格式的類型的號碼)。
Cheking如果一個字符串是浮點/雙精度數
要做到這一點,使用這個PHP內置函數:is_double或更準確:is_float,會告訴你,如果該字符串是浮點/雙。
檢查一個字符串是否是一個整數,並將其轉換爲雙/浮點值
如果它不是一個雙,檢查它是否是一個整數(普通號):is_int,並且如果它確實是一個int ,使用number_format
將其加倍,請看這裏的用法:integer to double/float in 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";
}
希望這有助於!
使用'回聲number_format($ foo的,1);' – Thamilan
不知道你多少個小數位處理,但number_format()可以工作 –