2017-01-25 3 views
0

ドル記号(小数点以下2桁)で合計金額を返すメソッドを作成する必要があります。どんな助けも素晴らしいだろう。これはこれまで私が持っているものです...お金を扱うときに末尾にゼロが付きます

private final double QVALUE = 0.25; 
private final double DVALUE = 0.10; 
private final double NVALUE = 0.05; 
private final double PVALUE = 0.01; 

public double dollarValue() { 
    double amount = (quarters * QVALUE) + (dimes * DVALUE) + 
     (nickels * NVALUE) + (pennies * PVALUE); 
    return amount; 
} 

私は各コインの値と二重に戻す必要があるメソッドを提供しました。ありがとう!

Ex。合計金額が1.50ドルの場合は$ 1.5と表示され、$ 1.5を表示する必要があります。文字列を返す必要があるためDecimalFormatを使用したくありません。

+1

このコード 'のSystem.out.println(String.Formatの( " $の%2F"、1.5))を検討しています。 ' –

+0

再び、値 – kprog

+0

を返す必要があります。シェイン、プリミティブなdouble値には書式設定がありません。自分のコメントや@samの回答に応じて自分で書式を設定する必要があります –

答えて

4

意味が分かりません"それは文字列を返す必要があります"。 String.format("%.2f", d);は使えませんか?

+0

String.format( "%。2f"、d);を使用すると、メソッドはdoubleを返す必要があります。それはStringを返します。また、double型とString型をキャストすることもできません。逆も同様です。 – kprog

+0

String.format _can_ double型を取る。問題は、Javaが常に末尾のゼロを削除することです。確かに、実際に情報を提示している場所であれば、String.formatを使うことができます。技術的に同じなので、変数の意図した値が1.5か1.50かどうかはコンピュータが気にしません。 – Sam

3

が、これはあなたが望むものであるかもしれませ:

NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US); 
String s = currencyFormat.format(1.5); 

結果は"$1.50"

+0

これはまだOPが反対しているStringを返しています。しかし、良い答えです。 +1 –

関連する問題