我在Laravel 4和MySQL中使用PHP,我不知道如何处理货币价值。
我想使用以下格式显示它们:
120,50€
1.000,50€
金额字段的类型为DECIMAL(12,2)
。
我应该保存12050
或类似120,50
的数量吗?
答案 0 :(得分:6)
我建议使用:
数据库中的十进制欧元值(1000.50)
美分(100050)
显示给用户的格式化字符串(1.000,50€)
对于在MySQL数据库中存储字段,DECIMAL(12,2)
之类的内容非常有意义。这是一个具有正确的percision(两位小数)的数值,允许您存储任何货币值,最高可达9999999999.99。
Cents非常适合计算,因为它允许您将货币值视为计算中的整数,这更适合使用(特别是对于除法和乘法),并且通常是您希望货币值达到的水平向上或向下舍入到。
无论您如何将数据存储在数据库中或如何进行计算,您都希望用户以他们熟悉的格式查看数量。例如,美元通常格式为1,000.50美元,欧元格式为1.000,50欧元。