0
ここに私が答えなければならない問題があります。 (さまざまな金利のローンを比較)ユーザがローンの金額とローンの期間を年数で入力し、 5%から8%までの各金利の毎月支払額と合計支払額を1/8ずつ増やします。小数点以下の桁数と固定桁の書式
import java.util.Scanner; // Scanner is in java.util
public class FinancialApp {
\t public static void main(String[] args) {
\t Scanner input = new Scanner(System.in); // Scanner object
\t System.out.print("Enter loan amount: "); // input value for loan
\t \t double loanAmount = input.nextDouble();
\t System.out.print("Enter number of years as an integer: ");
\t \t int years = input.nextInt();
\t System.out.println("Intrest Rate" + "\t" + "Monthly Payment" + "\t" + "Total Payment");
\t \t for(double i = 5.000; i <= 8.000; i += 0.125){
\t \t \t double monthlyIntrest = i/1200;
\t \t \t double monthlyPay = loanAmount * monthlyIntrest/(1 - 1/Math.pow(1 + monthlyIntrest, years * 12));
\t \t \t double totalPay = monthlyPay * years * 12;
\t \t \t System.out.println(i + "%" + "\t" + monthlyPay + "\t" + totalPay);
\t \t }
\t }
}
を単純化し、あなたの質問に答えるために、それは 'System.out.printf( "%2Fの\ nを"、12345.456)のようにacheivedすることができます。 '本当にあなたはお金のために'ダブル 'を使ってはいけません。 BigDecimalを見てください –
doubleをBigDecimalに変換し、setScaleメソッドを使用してください。 –