2013-10-23 34 views
0

我已經使用JFormDesigner創建了一個表單,並且需要在用戶輸入4位數或更多的數字時自動添加1000個分隔符。我嘗試了以下代碼,但它並未實時添加分隔符(,)。如何實時添加1000個分離器?

int no=Integer.parseInt(textField1.getText()); 
String str = String.format("%,d", no); 
textField1.setText(str); 

任何幫助,將不勝感激。

+0

@peeskillet我猜他的意思是1.000 2.040等(點) – Apostolos

+0

請發佈您的預期輸出,因爲1000分隔符不清楚。 – Prateek

+0

@peeskillet:根據不同的文化,它可以是','或'.'。因此,100萬可以寫成'en-US'中的'1,000,000',或者'it-IT'中的'1.000.000'。 – npinti

回答

0

既然你提到它不會實時添加分隔符,那麼我懷疑你點擊一個按鈕或類似的東西來執行那個代碼。

您需要做的是捕獲關鍵筆畫事件並相應地修改文本。 This以前的SO帖子應該指出你正確的方向。

0

您應該使用DecimalFormat類增加,的數量。像

DecimalFormat df=new DecimalFormat("###,###");  

int no=Integer.parseInt(textField1.getText()); 
String str = df.format(no); 
textField1.setText(str); 
+0

感謝Masud.Where我應該把上面的代碼實時顯示它?我是新來的java,無法弄清楚。我需要顯示1000爲1000。 – user2723764

+0

@ user2723764您應該在textField1上顯示它。看看我編輯的答案。 – Masudul

0

我想你可以使用這個

DecimalFormat df = new DecimalFormat("#,###,##0.00"); 
df.format(no); 
0

要獲得自定義分組分隔符,如空間,這樣做:

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(); 
symbols.setGroupingSeparator(' '); 

DecimalFormat formatter = new DecimalFormat("###,###.##", symbols); 
System.out.println(formatter.format(bd.longValue()));