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

您将需要为此使用number_format()

number_format($number, 1, ".", "");将为您解决问题:

  • 3变成3.0
  • 2500变成2500.0
于 2012-07-05T10:29:37.977 回答
0

尝试先将其转换为浮点数,然后使用 number_format 对其进行格式化。

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

希望这可以帮助

于 2012-07-05T10:53:46.920 回答