【Java 数据转换】double型数据由科学计数法转成普通数据(118)

文章讲述了如何使用Java.math.BigDecimal类将double类型的科学计数法数值(如8.796296296296296E-4)转换为普通数值(如0.0008796296296296296),并展示了示例代码和应用场景。
摘要由CSDN通过智能技术生成

需求:
如:8.796296296296296E-4
转成:0.0008796296296296296
使用:java.math.BigDecimal

代码:


import java.math.BigDecimal;

public class day11 {
	public static void main(String[] args) {
		
		/*
		 * 如何把double型数据由科学计数法转成普通数据;
		 * 如:8.796296296296296E-4
		 * 转成:0.0008796296296296296
		 * 使用:java.math.BigDecimal
		 * 备注:setScale已废弃;也可以使用toString、toPlainString;
		 * 
		 */
		BigDecimal big = new BigDecimal("8.796296296296296E-4");
		BigDecimal a = big.setScale(4,2);
		BigDecimal b = big.setScale(10,2);
		BigDecimal c = big.setScale(2,2);
		String d = String.valueOf(c);
		System.out.println("a:"+a);
		System.out.println("b:"+b);
		System.out.println("c:"+c);
		System.out.println("d:"+d);
		
		String e = big.toString();
		String f = big.toPlainString();

		System.out.println("e:"+e);
		System.out.println("f:"+f);
		
	}
}

测试输出:

a:0.0009
b:0.0008796297
c:0.01
d:0.01
e:0.0008796296296296296
f:0.0008796296296296296

使用场景如:


		String processTime = "";
        if(flag.equals("1")){
            processTime = DateUtil.getCustomTime(endTime_res - startTime_long - penging);
        }
        else if(flag.equals("2")){
            processTime = String.valueOf((endTime_res - startTime_long - penging)/(24.0 * 60.0 * 60.0));
            // double型数据由科学计数法转成普通数据
            if(processTime.contains("E")){
                BigDecimal big = new BigDecimal(processTime);
                BigDecimal c = big.setScale(2,2);
                processTime = String.valueOf(c);
            }
            processTime = processTime.substring(0,processTime.indexOf(".")+2);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KevinDuc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值