簡體   English   中英

用Java計算數學函數的值

[英]Calculating the value of a mathematical function in Java

我有此功能,我試圖獲取所有計算的列表。

f(x) = (100)(1.1)^X

如何用Java計算出來。 我嘗試了一個for循環來獲取x的值和y的最終結果,但這沒有用。 可能是我里面的代碼。 我試圖得到1.1的指數並將其乘以100,這是正確的嗎?

for(int i = 1; i<=15; i++){
     int expcalc = (int) Math.pow(1.1, i);
     int finalcalc = price * expcalc;
     System.out.println(" " + finalcalc);
}

我在這里做錯了什么?

為什么將結果強制轉換為int 這將使所有內容都超過小數點。 expcalcfinalcalc聲明為double以獲得正確的結果。

double expcalc = Math.pow(1.1, i);
double finalcalc = price * expcalc;

如果您使用的是pow()和十進制值,尤其是在金錢上 ,請使用BigDecimal

假設您的解釋正確,

BigDecimal price = new BigDecimal("0.0"); //change this value to your price
for(int i = 1; i<=15; i++){
    BigDecimal expcalc = new BigDecimal("1.1").pow(i);
    BigDecimal finalcalc = price.multiply(expcalc);
    System.out.println(" " + finalcalc);
}

避免在貨幣計算中使用double / float。

暫無
暫無

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

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