如何在 Web 应用程序中处理 and/or 存储货币值?
How to handle and/or store money values in web applications?
我在 Laravel 4 和 MySQL 中使用 PHP,但我不确定如何处理货币价值。
我想显示它们,使用这种格式:
120,50€
1.000,50€
金额字段的类型为DECIMAL(12,2)
。
我应该像 12050
那样存钱还是像 120,50
那样存钱?
我推荐的是使用 :
您数据库中的十进制欧元值 (1000.50)
美分 (100050) 在计算中
您向用户显示的格式化字符串 (1.000,50€)
更多详情
为了在 MySQL 数据库中存储字段,DECIMAL(12,2)
之类的东西非常有意义。这是一个具有正确精度(两位小数)的数值,允许您存储最大为 9999999999.99 的任何货币值。
美分非常适合计算,因为它允许您在计算中将您的货币价值视为整数,这更实用(特别是对于除法和乘法),并且通常是您想要的货币水平要向上或向下舍入的值。
无论您如何将数据存储在数据库中或如何进行计算,您都希望用户以他们熟悉的格式查看金额。例如,美元的格式通常为 $1,000.50,欧元的格式为 1.000,50€。
我在 Laravel 4 和 MySQL 中使用 PHP,但我不确定如何处理货币价值。
我想显示它们,使用这种格式:
120,50€
1.000,50€
金额字段的类型为DECIMAL(12,2)
。
我应该像 12050
那样存钱还是像 120,50
那样存钱?
我推荐的是使用 :
您数据库中的十进制欧元值 (1000.50)
美分 (100050) 在计算中
您向用户显示的格式化字符串 (1.000,50€)
更多详情
为了在 MySQL 数据库中存储字段,DECIMAL(12,2)
之类的东西非常有意义。这是一个具有正确精度(两位小数)的数值,允许您存储最大为 9999999999.99 的任何货币值。
美分非常适合计算,因为它允许您在计算中将您的货币价值视为整数,这更实用(特别是对于除法和乘法),并且通常是您想要的货币水平要向上或向下舍入的值。
无论您如何将数据存储在数据库中或如何进行计算,您都希望用户以他们熟悉的格式查看金额。例如,美元的格式通常为 $1,000.50,欧元的格式为 1.000,50€。