概述
使用Bigdecimal遇到的那些坑
为了方便计算有关金钱的字段,将类型设置成BigDecimal,但是在请求返回数据以Json形式返回时,发现的有失精度
查网上有两种解决方法:
第一种:
数据类型直接设置成String类型,计算的时候转为BigDecimal,并设置它的小数点。
BigDecimal usermaoney = new BigDecimal(user.getSummoney()).setScale(2);
user.setSummoney(usermaoney.toString());
第二种:
字段依然是BigDecimal类型,只是在返回数据的时候,将对象转换成JsonArray类型
JSONArray arrays= JSONArray.parseArray(JSON.toJSONString(kpiModels));
for (int i = 0; i <arrays.size() ; i++) {
JSONObject jsonObject= arrays.getJSONObject(i);
jsonObject.put("sellmongey",jsonObject.getBigDecimal("sellmongey").setScale(2).toString());
arrays.set(i,jsonObject);
}
总之是解决的燃眉之急,那里有问题,请高手多多指点。
请教诸位看小女博客的大神们:
在涉及数据时,常用类型要使用那个呢???
最后
以上就是顺利大米为你收集整理的使用Bigdecimal遇到的那些坑使用Bigdecimal遇到的那些坑的全部内容,希望文章能够帮你解决使用Bigdecimal遇到的那些坑使用Bigdecimal遇到的那些坑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复