首页 > 编程知识 正文

无法将类型string隐式转换为,long转int不损失精度

时间:2023-05-06 12:18:44 阅读:44850 作者:2629

在web项目中,从Java后端传递的长/长类型在前端JS接收中会失去精度。

本文推荐第三、第四方式第一方式简单粗暴,所有Lang类型改为String,数据库改为varchar类型;

第二种方法是自己创建配置类

扩展webmvcconfigureradapter已过时。 直接实现WebMvcConfigurer接口就可以了

@ enablewebmvc @ configurationpublicclasswebdataconvertconfigimplementswebmvcconfigurer { publicvoidconfiguremesssageconverterter } 转换器(mapping害怕孤独的行人2httpmessageconvertertwdxlb2httpmessageconverter=new mapping害怕孤独的行人2 httpmessageconverter ); objectmapperobjectmapper=new对象映射器(; /**将序列转换为json时,将所有长整型转换为字符串*。 js的数值类型包含所有java long值*/simplemodulesimplemodule=newsimplemodule (simple module.add serializer (long.class,tostring series ) simple module.add serializer (long.type,ToStringSerializer.instance ); 对象映射器. register module (简单模块; tw dxl B2 httpmessageconverter.setobjectmapper (object mapper ); 转换程序. add (tw dxl B2 httpmessageconverter; 6第三种方法是使用害怕孤独的行人2

@Configurationpublic class惧怕孤独的行人Config {/** *惧怕孤独的行人总体上将长类型转换为字符串,解决twdxlb序列化时长类型的丢失精度问题* @return惧怕孤独的行人2ObjectMapperBuilderCustomizer注入对象*/@Bean public惧怕孤独的行人2 objectmapperbuildercustomizertwdxlb2objectmapperbuilillb { returntwdxlbobjectmapperbuilder-twdxlbobjectmapperbuilder.serializerbytype (long.class,tostringserializer.instancer ) }第四种方法(缺点:将所有数字类型转换为字符串) bootstrap.yml添加以下配置:

spring: twdxlb: #将所有number类型转换为String并返回generator : write _ numbers _ as _ strings 3360 true #的时间yyyy-mm-dddd

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。