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);
    }

}

 

原文地址:https://www.cnblogs.com/meitian/p/11918155.html