2016-03-30 86 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; 
}