簡體   English   中英

java.lang.NumberFormatException:在java.math.BigDecimal處為Infinite或NaN

[英]java.lang.NumberFormatException: Infinite or NaN at java.math.BigDecimal

我有以下代碼

double a = 29.0;
double b = 9.0;
double c = 4.0;
BigDecimal sum= new BigDecimal(0.0);
sum=sum.add(new BigDecimal(Math.log10((a)/(b*c) /Math.log10(2)));

我試圖用double代替總和,而不是BigDecimal,但結果是無窮大。 當我使用BigDecimal時,沒有任何結果,但錯誤提示:

線程“主”中的異常java.lang.NumberFormatException:在java.math.BigDecimal處為Infinite或NaN。(未知源)

請提供任何幫助,因為這是我第一次處理大量數字。注意:a,b,anc c值將通過循環更改,因此我必須保存總和。

(a)/(b*c) /Math.log10(2)是負數,因此取那的對數為NaN 實際上,這是胡說八道,不是消極的。 我不知道你為什么會在那里例外。

看來您實際上只是在嘗試執行log 2 ,在這種情況下,您只是將括號放在錯誤的位置,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM