【发布时间】:2014-04-29 13:57:55
【问题描述】:
我的数据库中有一个名为“值”的字段,其类型为十进制 (9,2)。
我在 Laravel 4 中编码,我正在尝试使用访问器和修改器来格式化它的内容以包含数千个逗号,并将带逗号的值设置为小数,以便保存到DB而不抛出错误。
示例: 数据库值:1234.00 显示值:1,234.00
我想我在使用模型中的以下代码从数据库读取时已经整理了格式
public function getValueAttribute($value)
{
if ($value !== NULL)
{
return number_format($value, 2);
}
}
我似乎遇到的问题是在保存时正确设置格式。
public function setValueAttribute($value)
{
$this->attributes['value'] = floatval(str_replace(',', '.', str_replace('.', '', $value)));
}
这会导致超过 1000 的值被删除逗号并放在小数点的位置
示例: 显示值:1,234.00 DB值:1.23
任何想法我如何在(英国货币)中使用逗号获取值并将其作为小数正确存储在数据库中????
谢谢!
【问题讨论】:
标签: laravel formatting decimal currency