2012-08-28 39 views
3

在我當前的項目中,我將貨幣值存儲爲代表美分數的int。但是,當用戶在文本字段中輸入此值時,他們很可能期望將其作爲十進制值輸入。另外,如果用戶沒有手動輸入,我想預先設置一個美元符號。我如何利用JFormattedTextField爲我完成這項工作?還是有其他解決方案使用預先存在的Swing組件,這樣我就不必通過手工編碼完成重新發明輪子?在Java中格式化貨幣

回答

3

NumberFormat也適合格式化貨幣(見NumberFormat#getCurrencyInstance)。因爲你需要一個FormatJFormattedTextField我會從那裏開始。

您可以NumberFormat配置爲允許十進制值,後來就在你的代碼將其轉換爲一個int沒有

+0

如果我使用此解決方案,是由'JFormattedTextField.getValue返回什麼樣的Object'的'問題( )'? –

+0

如果使用'NumberFormat',它將返回'Number' – Robin

+0

除了使用'instanceof'運算符之外,有什麼方法可以知道具體類嗎?在這種情況下,能夠轉換爲Double並使用自動拆箱會很好。我也使用其他的'JFormattedTextField'來進行整數輸入,所以爲這些輸入'Integer'也會很好! –