bigdecimal引发numberformatexception

e5nqia27  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(1450)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

12小时前关门了。
改进这个问题
我是java的初学者。我试着用下面的程序在eclipseide中练习bigdecimal。它没有显示编译错误,但当我运行它时,它显示的错误如下:
共享.java

import java.math.BigDecimal;

public class Share {
private int no_of_shares;
private int currentprice;
private BigDecimal buyingprice ;
private BigDecimal sellingprice;
//constructor -
public Share(int no_of_shares, String buyingprice, String sellingprice){
    this.no_of_shares = no_of_shares;
    this.buyingprice = new BigDecimal(buyingprice);
    this.sellingprice = new BigDecimal(sellingprice);
  }
//method for calculating profit-
public BigDecimal profit() {
    if(sellingprice.compareTo(buyingprice) ==1){
        BigDecimal temp = new BigDecimal("(sellingprice.subtract(buyingprice)");
        return temp.multiply((sellingprice.subtract(buyingprice)));
     }
    else {
        return BigDecimal.valueOf(0) ;
    }
  }

以及主要的阶级分享者

public class Sharer {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Share tesla = new Share(5, "23.456456", "27.25335");
    System.out.println(tesla.profit());
}

}
当我将其作为java应用程序运行时,会出现以下错误:

Exception in thread "main" java.lang.NumberFormatException: Character array is missing "e" notation exponential mark.
    at java.base/java.math.BigDecimal.<init>(BigDecimal.java:578)
    at java.base/java.math.BigDecimal.<init>(BigDecimal.java:402)
    at java.base/java.math.BigDecimal.<init>(BigDecimal.java:835)
    at com.oops.Share.profit(Share.java:55)
    at com.oops.sharer.main(sharer.java:8)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题