有一个文本框,可以获取价格数据。 如果有人输入类似“3”的内容我想让它转换为“3.0” 我不能简单地追加“0”,因为如果它是“100”则转换为“1000”
is_numeric(“3。”)也返回1.
可能的方式是什么?
答案 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)
答案 2 :(得分:0)
首先尝试将其转换为浮点数,然后使用number_format对其进行格式化。
$number = (float) $_POST['text_box'];
number_format($number, 1, '.', '');
希望这有帮助