目录
1. 解决后端响应数据给前端出现精度丢失问题
2. Freemark BigDecimal数据显示精度丢失问题文章来源:https://www.toymoban.com/news/detail-614150.html
3. 前端调用方法传值精度丢失问题文章来源地址https://www.toymoban.com/news/detail-614150.html
1. 解决后端响应数据给前端出现精度丢失问题
- 解决方式一:在项目中都是将注解标注在对应字段上,在Json序列化的时候把Long自动转为String。
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
- 解决方式二:全局配置 每个实体类的id字段都需要加@JsonSerialize注解有些繁琐,我们可以通过先修改Jackson转换器,实现全局统一处理Long类型字段。如下所示:
@EnableWebMvc
@Configuration
public class MvcConfig implements WebMvcConfigurer {
/**
* 重写Jackson转换器
* Long类型转String类型
*
* 解决前端Long类型精度丢失问题(js解析只能解析到16位)
*
* @param converters
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
MappingJackson2HttpMessageConverter jackson2HttpMessageConverter =
new MappingJackson2HttpMessageConverter();
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule simpleModule = new SimpleModule();
simpleModule.addSerializer(BigInteger.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
jackson2HttpMessageConverter.setObjectMapper(objectMapper);
converters.add(jackson2HttpMessageConverter);
converters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
}
}
- 解决方式三:全局配置序列化返回 JSON 处理
@Configuration
public class JacksonConfig {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder)
{
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
// 全局配置序列化返回 JSON 处理
SimpleModule simpleModule = new SimpleModule();
//JSON Long ==> String
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
}
2. Freemark BigDecimal数据显示精度丢失问题
${数据?c} 就是在后面添加?c
3. 前端调用方法传值精度丢失问题
function fa(id){
//用BigInt数据类型转换一次即可
let ids=BigInt(id)
}
到了这里,关于完美解决!处理精度丢失问题点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!