2017-01-03 1 views
0

POST値が数値で形式が正しいことを確認する必要があります。 POSTの値が.(DOT)のみ1せずに来て、私は、私はこのコードを試みたが、それは動作しませんが、phpが1.0チェックPHPのポスト値は数値で、フォーマットはよく行われています

にそれを変換したい場合は私の予想フォーマットは

number.number 
1.0 
11.5 

です。

$foo = '2'; 
$foo = preg_match('/\\d{2}\\:\\d{2}\\.\\d{2}/', $foo); 

感謝:)

+0

使用 'エコーをnumber_format($ fooの、1);' – Thamilan

+0

あなたが扱っているが、をnumber_format()仕事ができるどのように多くの小数点以下の桁ではないことを確認 –

答えて

0

ワーキングコード

//$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; 
0

あなたは基本的にPOST配列からの変数は、二重かフロート/(フロート/ダブルx.xのフォーマットの数のタイプである)であるかどうかを確認したいです。

Cheking文字列が

はそれを行うためにフロート/ダブル番号がある場合は、このPHP組み込み関数を使用します。is_doubleまたはより正確な:文字列がfloatであるかどうかを教えてくれますis_floatを、/ダブル。

文字列が整数であるかどうかの確認と、それは、二重ではない場合、それは整数(通常の数)かどう

は、チェックダブル/ float値に変換:is_intが、それは確かにint型だ場合number_formatを使用して2倍にキャストしてください。ここでの使用方法は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"; 
} 

・ホープ、このことができます!

関連する問題