我想格式化正數和負數都沒有任何前綴(或相同前綴)的數字。具有等價負值和負值模式的Java NumberFormat
NumberFormat的規範指出,您可以指定正數的子圖案和負號的子圖案,用分號分隔。
每個子模式都有一個前綴,數字部分和後綴。負面的 子模式是可選的;如果不存在,則使用 作爲負子模式,而前面帶有本地化減號(在大多數語言環境中爲' - ')的正子模式 。也就是說,僅「0.00」等於 「0.00; -0.00」。
只要正面和負面的子模式具有不同的前綴或後綴,這就行得通了。如果它們相同,則默認爲帶有減號的默認行爲。
我想是格式化:
- +1爲:01
- -1爲:01
我知道,我可以用Math.abs(),這是在JSP/EL環境中不是那麼容易,而且這是一個純粹的格式問題,所以應該在JSP中完成,但這根本不重要。 我無法在有關該行爲的文檔中找到任何提示。當我閱讀上述內容時,我認爲只要我指定任何負面的子模式,它就會被使用。事實並非如此。
有沒有人知道這件事?我可能會向Oracle提交一個錯誤,但如果我錯過了一些東西,首先要檢查。
嗨,彼得,謝謝。好點,我不知道這種方法。然而,正如我所說的,我想在JSP中做到這一點(沒有scriptlet),在我看來,具有分號的子模式應該是訣竅。我仍然認爲,這是一個錯誤。該錯誤顯然在解析和應用模式到內部結構,而不是在輸出邏輯。 – marc82ch 2013-04-29 06:23:57