js展示long型精度问题解决(server端解决)
Posted 每天1990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js展示long型精度问题解决(server端解决)相关的知识,希望对你有一定的参考价值。
问题:后端返回了个Long型的数据,在前端展示时最后2位变为00了
例如返回Long型的数据为75874464836881101,结果接口返回变为75874464836881100了
解决方法:
1、针对单个接口解决该问题
直接将Long型字段换成String类型字符串返回,再获取接口展示数据正确~
2、一次性解决所有这种问题
重写 configureMessageConverters,然后重启服务生效
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class StaticConfig extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
SerializeConfig serializeConfig = SerializeConfig.globalInstance;
serializeConfig.put(BigInteger.class, ToStringSerializer.instance);
serializeConfig.put(Long.class, ToStringSerializer.instance);
serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
fastJsonConfig.setSerializeConfig(serializeConfig);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}
以上是关于js展示long型精度问题解决(server端解决)的主要内容,如果未能解决你的问题,请参考以下文章
浏览器响应数据long型超长自动转换精度丢失-JavaScript 整数精度丢失问题-springboot解决Long类型数据传入前端损失精度