我需要使用加號將輸入的數字字符串與掩碼正確對齊。Java中的右對齊字符串NumberFormat
例如:
String input = "893";
String mask = "&&&&&&";
應該返回
String output = "+++893";
我對我以前沒有使用過他們如何使用的NumberFormat實施這一點,或DecimalFormat的很迷茫。任何幫助,將不勝感激。
我需要使用加號將輸入的數字字符串與掩碼正確對齊。Java中的右對齊字符串NumberFormat
例如:
String input = "893";
String mask = "&&&&&&";
應該返回
String output = "+++893";
我對我以前沒有使用過他們如何使用的NumberFormat實施這一點,或DecimalFormat的很迷茫。任何幫助,將不勝感激。
如果你需要使用DeciamlFormat你可以使用:
int input = 893;
DecimalFormat decFormat = new DecimalFormat("000000"); //as many palces as you need
String output = decFormat.format(input);
然後用+符號替換所有前導零。
String.format("%06d", input); //also gives you leading zeros
如果您總是需要6個位置,您仍然需要檢查輸出是否太長。
你可以試試這個:如果掩碼的長度大於輸入的長度,請取出差異並在輸入的前面添加許多加號。
雖然我不明白那個面具的意思。你可以簡單地有一個理想的長度 – CodeMonkey
是的,這是我的第一個想法,但我只是想問是否有一個更優雅的方式使用NumberFormat。 – user1378762
面具也將成爲輸入的一部分。 – user1378762
哪種語言? – CodeMonkey
我正在使用Java。 – user1378762
如果掩碼比輸入短,該怎麼辦?你截斷還是忽略? – CodeMonkey