2013-12-17 59 views
1

我遇到了從給定輸入字符串拆分數字的問題 例如

TOTAL的總費用= $ 19,67,456.45

的現在,對於算術計算,我們只需要取下

$的數字。

,因此它試圖來

TOTAL的整串每串= $ ##,##,##,###

最後,我們應該有隻是在賬單上進行算術計算的數字。 我試圖解決這個問題如下

String price = "$12,23,44,555" 
    String ArrArgs[] = price.split(""); 
    for (int i=2;i<ArrArgs.length;i++){ 
     if (ArrArgs.equals(".")){ 
      break; 
     } 
     if ((ArrArgs[i]).equals(",")){ 

     }else { 
      strPrice = ""+strPrice+ArrArgs[i]; 
      System.out.println("Adding "+ArrArgs[i]); 
     } 
    } 

BTW所有我做的是爲賬單超過$ 99,99,99,999更大的自動化在硒的webdriver的測試用例。 預先感謝您:)

+0

$ 99,99,99,999。 - 那種數字表示毫無意義。當然你的意思是$ 999,999,999.00 –

+0

嘗試從值中刪除$並使用Double.valueOf(String_without_dollar_sign) –

+0

@yogx $符號不能被刪除,因爲它是被測應用程序(AUT),我正在自動執行以檢索該值。希望你得到 –

回答

5

做這樣

NumberFormat format = NumberFormat.getCurrencyInstance(); 
Number number = format.parse("$19,67,456.45"); 
System.out.println(number.toString()); 

輸出

1967456.45 
+0

感謝大家解決了我的問題^ __ ^永遠不會知道JAVA爲每個不同的事情都有類。謝謝soooo –

+0

@ChiragPandit歡迎您.... – Prabhakaran

0

String.replaceAll功能試用:

String TOTAL = "$19,67,456.45"; 
System.out.println(TOTAL.replaceAll("[\\$,.]", "")); 

功能需要一個正則表達式。

+0

我只是沒有使用任何語言的正則表達式的類。我害怕它,只是不瞭解所有這些跡象。感謝btw做出這種努力:) –

+0

不要害怕它,只是讀一點點:http://en.wikipedia.org/wiki/Regular_expression。你使用它越多,你會用它做更多的事情!使用正則表達式並不總是一個好的解決方案(例如對於性能至關重要的問題),但對於小問題,他們值得他們的黃金重量! – bobbel