【发布时间】:2019-07-20 17:37:03
【问题描述】:
我输入了格式为 1,000.00 的货币格式
我想以十进制格式保存在数据库中,例如 1000.00
如何在控制器中更改,保存时会自动更改为十进制格式?
$num = '3,500.20';
$formattedNum = number_format($num, 3, '', '');
echo $formattedNum;
上面的代码转换为 3000 而不是 3500.20
【问题讨论】:
-
你试过
$result = str_replace(',', '', $num);吗? -
先使用 JavaScript 检查表单并提示用户输入正确的格式。这样你就不会弄乱用户的输入。您仍然需要在 PHP 中再次检查,但最好向用户询问正确的格式,而不是尝试正确解析它
-
用空格替换逗号,
str_replace(',', '', $num);并将您的数据库列设为小数点后 2 位。 DECIMAL(10,2) 迁移期间。
标签: php laravel format currency number-formatting