如果不是格式,则将尾随零添加到php字符串

时间:2012-07-05 10:25:28

标签: php

有一个文本框,可以获取价格数据。 如果有人输入类似“3”的内容我想让它转换为“3.0” 我不能简单地追加“0”,因为如果它是“100”则转换为“1000”

is_numeric(“3。”)也返回1.

可能的方式是什么?

3 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

您需要使用number_format()

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

  • 3变为3.0
  • 2500变为2500.0

答案 2 :(得分:0)

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

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

希望这有帮助