我想知道如果現在沒有在java字符串格式類似於Java的DecimalFormat(「0#」)的Java字符串格式化
,我有以下一組數字,需要用破折號被掩蓋,「 00-0000-00「,我希望會有一個格式化程序,使我能夠以類似的方式處理DecimalFormat(」00-0000-00「)。如果這種方法不存在,是否有人可以提供一個替代解決方案的例子。
我需要在保存到數據庫時去掉破折號,並在從數據庫中檢索它們時將它們添加回去。
感謝
我想知道如果現在沒有在java字符串格式類似於Java的DecimalFormat(「0#」)的Java字符串格式化
,我有以下一組數字,需要用破折號被掩蓋,「 00-0000-00「,我希望會有一個格式化程序,使我能夠以類似的方式處理DecimalFormat(」00-0000-00「)。如果這種方法不存在,是否有人可以提供一個替代解決方案的例子。
我需要在保存到數據庫時去掉破折號,並在從數據庫中檢索它們時將它們添加回去。
感謝
你有沒有看着String.format("%2d-%4d-%2d", int1, int2, int3)
?
實施例:
int n = 12345678;
String formatted = String.format("%2d-%4d-%2d", n/1000000, (n/100) % 10000, n % 100);
int orig = Integer.valueOf(formatted.replace("-", ""));
System.out.println(String.format("formatted=%s, orig=%d", formatted, orig));
// formatted=12-3456-78, orig=12345678
+1正是我想要發佈的內容,但你打敗了我。 –
@phatfingers謝謝,我想這可能是我唯一的選擇,只是希望java有更簡單的東西。 –
爪哇確實有String.format方法。
然後使用replace all轉換回來。
編寫自定義方法及其相反。前者將在添加到你的數據庫和後者調用你的數據庫後調用。我相信應該不是太大的問題。
是的,這正是我計劃要做的,我只是希望一個簡單的格式化程序,但它看起來像String.format是我最簡單的選擇。 –
你看過Java Formatter對象嗎? http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html – trumpetlicks
我能想到的唯一的事情就是模數'%'數字並插入格式化字符串。至於恢復它,'replaceAll(「 - 」,「」)'和'parseInt'是解決方案。 – nhahtdh