【String转Long类型报错:For input string: “20000000.00“】

  1. 使用Excel导入时,因为使用Double类型进行金额计算,当变量为100时计算的结果会出现错误
public static void main(String[] args) {
       Double bankContractamount = Double.parseDouble("20000000");//放款金额
       Double bankBearproportion = Double.parseDouble("100");//承担比例-银行
       System.out.println("银行承担金额:"+bankContractamount*(bankBearproportion/100));
}

计算结果为: 2.0E7

  1. 调整计算类型为Long之后,转为String出现报错
String money = "20000000.00";
String proportion = "100";
Long bankContractamount1 = Long.parseLong(money);//放款金额
Long bankBearproportion1 = Long.parseLong(proportion);//承担比例-银行

报错信息:

java.lang.NumberFormatException: For input string: “20000000.00”

  1. 最后调整为:
String money = "20000000.00";
String proportion = "100";
Long bankContractamount = new Double(money).longValue(); //放款金额
Long bankBearproportion = new Double(proportion).longValue();//承担比例-银行
  1. 上面的方法还是有问题,最后百度解决
		String db1 = "10000000";
        String db2 = "100";
        String db3 = "100";

        BigDecimal a2 = new BigDecimal(db1);
        BigDecimal b2 = new BigDecimal(db2);
        BigDecimal b3 = new BigDecimal(db3);
        
        System.out.println(a2.multiply(b2.divide(b3)));

  1. 部分方法参考
	//构造器描述: 
		BigDecimal(int)       创建一个具有参数所指定整数值的对象。 
		BigDecimal(double) 创建一个具有参数所指定双精度值的对象。 //不推荐使用
		BigDecimal(long)    创建一个具有参数所指定长整数值的对象。 
		BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。//推荐使用
		
	//方法描述: 
		add(BigDecimal)        BigDecimal对象中的值相加,然后返回这个对象。 
		subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。 
		multiply(BigDecimal)  BigDecimal对象中的值相乘,然后返回这个对象。 
		divide(BigDecimal)     BigDecimal对象中的值相除,然后返回这个对象。 
		toString()BigDecimal对象的数值转换成字符串。 
		doubleValue()BigDecimal对象中的值以双精度数返回。 
		floatValue()BigDecimal对象中的值以单精度数返回。 
		longValue()BigDecimal对象中的值以长整数返回。 
		intValue()BigDecimal对象中的值以整数返回。

具体介绍参考:java 中 BigDecimal 详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值