1

価格のデータを取得するテキスト ボックスを用意します。誰かが「3」のようなものを入力した場合。「3.0」に変換したい「0」を最後に追加することはできません。「100」の場合、「1000」に変換されるためです。

また、is_numeric("3.") は 1 を返します。

可能な方法は何ですか?

4

3 に答える 3

3

number_format()が必要です:

number_format('3', 1, '.', ''); // = 3.0
number_format('3.', 1, '.', ''); // = 3.0
number_format('3.22', 1, '.', ''); // = 3.2
number_format('3.22abc', 1, '.', ''); // = 3.2 and a "PHP Notice:  A non well formed numeric value encountered"
number_format('abc3.22', 1, '.', ''); // = "PHP Warning:  number_format() expects parameter 1 to be double, string given"
于 2012-07-05T10:29:54.457 に答える
0

最初に float としてキャストしてから、number_format を使用してフォーマットしてみてください。

$number = (float) $_POST['text_box'];
number_format($number, 1, '.', '');

お役に立てれば

于 2012-07-05T10:53:46.920 に答える
0

これには使用する必要がありますnumber_format()

number_format($number, 1, ".", "");あなたのためにトリックを行います:

  • 3になる3.0
  • 2500になる2500.0
于 2012-07-05T10:29:37.977 に答える