1.DB金额字段建议使用int类型
跨境支付会涉及多币种,多币种的话就会存在一个问题不同货币小数点后的位数保留的是不一致的
(CNY)人民币,一般都是小数点后2位:1.23这样
(KWD[科威特第纳尔]目前最值钱的货币),可以做到小数点后3位:1.234
(JPY)日元的话是没有小数部分的:1234
我们遇到过这个问题,在这问题之前字段都是decimal(18,2)当时因为比较紧急所有小数点后3位的都舍为2位了(要改动的话涉及的系统比较多),等之后看看在调整为int或decimal扩到3位(建议到int类型最好在加个精度字段,decimal扩充的话不够优雅)
其实在对接三方系统时候也可以看到支付平台的金额也都是取到整数的不会出现小数点
adyen:https://docs.adyen.com/development-resources/currency-codes
checkout:https://docs.checkout.com/resources/calculating-the-value