让Double类型完整显示,不用科学计数法显示E(Java)

转载自 -- https://www.cnblogs.com/gitkoot/p/5433273.html

 

今天在处理B2B项目的bug的时候,发现我post给后台的物品的含税单价是竟然含有12345666661E10这样的,是以String类型传过去的

这样后台如果不做处理,那样肯定存在到数据库的字段有问题。

  我采取这样的处理方式代码如下:--这个是直接从代码取出来的

private BigDecimal totalAmount = new BigDecimal(0);
new BigDecimal(new Double(totalAmount.doubleValue()).toString())

我在网上查了些方案大都是这样的处理方式如下:

 
DecimalFormat df = new DecimalFormat("0");   
  Double d = new Double("1.2345666661E10");  
  System.out.println(df.format(d));
 

这个方式有个问题,是不会保留小数点后小数位.

我的处理方式是可以保留小数位的,具体的详细方法如下:

BigDecimal bigDecimal = new BigDecimal("1.2345666666E10");  
        String result = bigDecimal.toString();

另外我将网上的方案进行修改代码如下:

DecimalFormat df = new DecimalFormat();
df.setMaximumFractionDigits(2);//这里是小数位   
  Double d = new Double("1.2345666661E10");  
  System.out.println(df.format(d));

这个方案还没有进行完整的测试,大家如果有不同的想法一起交流!

转载于:https://www.cnblogs.com/kyrie211/p/11204872.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值