
RT
后端定义
{ @ApiModelProperty(name = "转账金额,单位(分)") private Long transAmount; @ApiModelProperty(name = "退款金额,单位(分)") private Long refundAmount; } 因为需要做金额的统计,所以数据库设计成了 bigint 类型,以分为单位,查询出来用 Long 接收
有没有相关 JSON 注解,可以把以分为单位的金额数字转换成以元为单位的字符串,返回给前端。
如:888(分) -> 8.88 (元)
1 virusdefender 2020 年 6 月 3 日 前端处理小数可能也会遇到精确度的问题,不如还是用分为单位 |
2 voidxx OP @virusdefender #1 后端已转成 String 了,前端一样用 String 接收就好了 |
3 TtTtTtT 2020 年 6 月 3 日 推荐加一个新的只读字段来序列化,这样不会影响模型的反序列化。 如果觉得麻烦的话,可以加一个自定义的序列化器。 https://fasterxml.github.io/jackson-databind/javadoc/2.7/com/fasterxml/jackson/databind/annotation/JsonSerialize.html |
5 guyeu 2020 年 6 月 3 日 你应该自定义自己的金额类,然后给这个金额类添加一个自定义的序列化器,常见的 json 库都支持自定义序列化器。 |
6 k9990009 2020 年 6 月 3 日 via Android 有的,之前写过处理小数保留的位数,你找下这个,单独写个类自己处理输出 |
7 axbx 2020 年 6 月 4 日 自定义注解,返回的时候修改一下不就行了 |
8 ruyu 2020 年 6 月 4 日 用 xml <transAmount type="currency">10</transAmount> <refundAmount type="currency">20</transAmount> 然后通过 type 判断就好啦 |
9 Aresxue 2020 年 6 月 4 日 你这种情况前后之间交互就应该用分,这样只需要使用整数,然后让前端自己转就好了 |
10 Cinleoi 2020 年 6 月 4 日 加一个 DTO 不就行了吗 |