0

我在 Laravel 4 和 MySQL 中使用 PHP,但我不确定如何处理货币价值。

我想使用这种格式显示它们:

  120,50€
1.000,50€

金额字段的类型为DECIMAL(12,2)

我应该保存喜欢12050还是喜欢的金额120,50

4

1 回答 1

7

我推荐的是使用:

  • 数据库中的十进制欧元值 (1000.50)

  • 美分 (100050) 在计算中

  • 向用户显示的格式化字符串 (1.000,50€)


更多细节

对于在 MySQL 数据库中存储字段,类似的东西DECIMAL(12,2)非常有意义。这是一个具有正确精度(两位小数)的数值,允许您存储最大为 9999999999.99 的任何货币值。

美分非常适合计算,因为它允许您在计算中将货币值视为整数,这更实用(尤其是除法和乘法),并且通常是您希望货币值四舍五入的级别或下降到。

无论您如何在数据库中存储数据或如何进行计算,您都希望您的用户以他们熟悉的格式查看金额。例如,美元通常格式为 $1,000.50,欧元格式为 1.000,50€。

于 2016-03-07T23:08:31.757 回答