# BigDecimal-Format **Repository Path**: Mashrmaro/bigdecimal-format ## Basic Information - **Project Name**: BigDecimal-Format - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-29 - **Last Updated**: 2022-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BigDecimal-Format #### 介绍 主要用于控制BigDecimal类型的数据在序列化为json格式数据时的一些格式。
如使用`@BigDecimal`注解在成员属性上设置序列化json时需保留的小数位数,取整策略,是否转为字符串类型参数。
其次, 针对一些类型在序列化为json格式数据时存在null值的情况进行了处理,
- 数组、list、set类型为 null 时, 将序列化为[] - 布尔类型为 null 时, 将序列化为 false - 数值类型为 null 时, 将序列化为 0 #### 使用说明 在实体类中`BigDecimal类型的成员属性`上添加`@BigDecimal`注解即可。 注解参数说明: - scale 保留小数位数,默认保留2位 - model 取整策略,默认BigDecimal.ROUND_HALF_UP - isToString 是否将值转成字符串类型 默认false #### 举个栗子 ```java @Data public class TestModel { private String name; @BigDecimalFormat(scale = 6, model = BigDecimal.ROUND_FLOOR,isToString = true) private BigDecimal score; } ``` ```java @RestController public class TestController { /** * * @return */ @RequestMapping(value = "/demo1") public Object demo1() { return new TestModel(); } @RequestMapping(value = "/demo2") public Object demo2() { TestModel model = new TestModel(); model.setScore(new BigDecimal("1.000")); return model; } } ``` ##### 请求/demo1 配置前: ```json {"name": null,"score": null} ``` 配置后: ```json {"name": "","score": 0} ``` ##### 请求/demo2 配置前: ```json {"name": null,"score": 1.000} ``` 配置后: ```json {"name": "","score": "1.000000"} ```