2016-03-30 24 views
-1

Javaで通貨($)を追加する方法について質問しましたが、NumberFormat.getCurrencyInstance();私の出力を "$"で得る。私のプログラムは、プログラムのみ($ 100.00、$ 50.00 $ 20.00 ...などに)受け入れ例えば入力にいくつかのお金(文字列形式)であるので、私はこのコードを使用:JAVAが文字列に倍精度文字を追加する

String payment = keyboard.next(); 
while (!(payment.equals("$100.00")) && (!payment.equals("$50.00")) && (!payment.equals("$20.00")) && (!payment.equals("$10.00")) && (!payment.equals("$5.00")) && (!payment.equals("$2.00")) && (!payment.equals("$1.00")) { 
System.out.print("Invalid coin or note. Try again. "); 
payment = keyboard.next(); } 

にはどうすれば(入力を取得することができます私が欲しい例えば合計金額からそれらを減算するために、ダブルとして100.00、50.00 ...).. (100.00から12.00)(12.00合計価格です)

すべてのヘルプは おかげ

をいただければ幸いです
+0

'Double.parseDouble'? – Mena

+0

@Mena $記号を削除した後。 – Hackerdarshi

+0

@Hackerdarshiは言うまでもないです。 – Mena

答えて

0

入力が「$」記号の場合は、あなたの文字列の最初の要素を削除し、それをdoubleに変換します。

//method to convert String in Double 
public Double getDoubleFromString(String payment) 
{ 
    payment = payment.substring(1); 
    double paymentDouble = Double.parseDouble(payment); 
    return paymentDouble; 
} 

String payment = keyboard.next(); 
double paymentDouble = getDoubleFromString(payment); 

while (paymentDouble != 100.00 && paymentDouble != 50.00 && paymentDouble != 20.00 
      && paymentDouble != 10.00 && paymentDouble != 5.00 
      && paymentDouble != 2.00 && paymentDouble != 1.00) 
     { 
     System.out.print("Invalid coin or note. Try again."); 
     String payment = keyboard.next(); 
     paymentDouble = getDoubleFromString(payment); 
     } 
+0

仕様では、入力に "$"記号を付ける必要があります。 100.00と50.00 ...受け入れられません、彼らは($ 100.00 ....) –

+0

私は私の答えを編集しました。 – DistribuzioneGaussiana

+0

ありがとう! –

1
public double convertPayment(String inputPayment) { 
    String payment = inputPayment.substring(1); 
    double paymentValue = Double.parseDouble(payment); 
    return paymentValue; 
} 
関連する問題