0
ユーザは、$num_str
に格納されている番号を入力します。私は$num_str
がSQLフォーマットdouble(9,2)
と厳密に一致することを(PHPを使って)チェックする必要があります。換言すれば、ユーザ入力がSQL double(size、d)タイプと互換性があることを確認しますか?
$num_str
タイプfloat
(すなわちdouble
)であることを確認$num_str
総$num_str
に1から9つの数字を含有小数点以下2桁(期間.
後、すなわち2桁)が含まれ;そうでない場合は、末尾の0を小数点の後に追加する必要があります。しかし、そのような連結が条件2に違反する場合は、エラーを出力する必要があります。ここで
は、私が試したものです:
私はステップ3エレガントかつ効率的にこれを行う方法上の任意のアイデアを実装しているにトラブルを抱えています何// 1.
if (filter_var($num_str, FILTER_VALIDATE_FLOAT) === false) echo "Invalid input";
// 2.
$num_str_nodecimal = str_replace(".", "", $num_str); // remove decimal point
if (strlen($num_str_nodecimal) > 9) echo "Invalid number length";
// 3.
if (strlen(substr(strrchr($num_str, "."), 1)) != 2) // less or more than 2 decimal places
???
?そのための任意のネイティブPHPメソッド?ありがとうございます