我使用$_POST
将表单值发送到PHP,然后插入数据库,我有一些prices
值的输入,如下所示:
1.000.000,00(100万巴西雷亚尔和#34;巴西雷亚尔")
我需要将其转换为1000000.00(DECIMAL(10,2)以插入数据库)
我怎样才能使用PHP number_format()
?
谢谢!
修改
如果number_format()
不是我要找的功能,那么在这种情况下最适合使用的是什么?
此外,即使用户值为100.000,00
,我也需要帮助找到解决方案答案 0 :(得分:3)
现在,如果我所说的任何内容都不适用于此特定时刻,并且考虑到您发送的此格式是固定的(点数为千位分隔符,小数点分隔符为昏迷),则可以清除使用简单的str_replace值。
但是,诀窍是用空字符串替换第一个点,然后用点“昏迷”。
str_replace(',', '.',str_replace('.', '', $number));
知道了吗?
但要知道你所做的是糟糕的做法和错误的实施,最终,它会在a **中咬你。
答案 1 :(得分:2)
最简单的方法是使用str_replace()
函数:
<?php
$p = '1.000.000,00';
$p = str_replace('.', '', $p);
$p = str_replace(',', '.', $p);
echo $p;
答案 2 :(得分:2)
<?php
$number = '1.000.000,00';
$replaced_number = str_replace(array('.',','), array('',''), $number);
echo number_format($replaced_number,2,'.','');
?>
答案 3 :(得分:0)
首先用str_replace替换(。)和(,)by&#39;&#39;然后使用以下函数
number_format($replaced_number,$decimal)
答案 4 :(得分:0)
如果您查看php.net,您将很容易看到正确的语法: number_format($号,2, '', '') 第一个参数是您的情况下为2的小数位数。 第二个是用于小数分隔符的符号,第三个是用于数千个的符号,在你的情况下将是什么。