Fastjson使用JSONFeild快速格式化小数点后几位
相信使用fastjson的JSONFeild注解进行格式化日期,基本大家都会使用了。但是今天发现一个小惊喜,原来JSONFeild还可以用于格式化小数点后几位的显示,基于在网上没怎么找到(可能是我比较弱),在这里就记录一下。
今天有个需求,需要将Double类型的数据仅显示小数点后两位,但不想对已有的代码进行太多的修改,于是想着fastjson有没有提供这样的方法。但是百度一下无果,关于小数点后截取的操作,基本都是通过添加fastjson的valueFilter重写,或者是直接在代码对相应的字段先进行BigDecimal的转换。
这两种方式对于我想要的效果都太过麻烦,并不是很满足我的预期,于是就抱着随便试试的心态写了一下,在JSONFeild注解里面的format参数使用格式化,结果发现fastjson是支持这种方式的。
想到可能有不少人和我一样(自以为)都不知道这种方式,所以记录一下。
@JSONField(format = "#.00")
private Double mileage;
如上使用BigDecimal中的格式化方式进行配置,即可实现自定义小数位返回。
只使用一个简单注解完成小数点后小数位的限定,这样还是蛮不错的。
这里项目用到的fastjson版本是1.2.73,其他版本的还没有进行过尝试,有兴趣的小伙伴可以试试看。