2014-02-18 74 views
0

我需要使用加號將輸入的數字字符串與掩碼正確對齊。Java中的右對齊字符串NumberFormat

例如:

String input = "893"; 
    String mask = "&&&&&&"; 

應該返回

String output = "+++893"; 

我對我以前沒有使用過他們如何使用的NumberFormat實施這一點,或DecimalFormat的很迷茫。任何幫助,將不勝感激。

+2

哪種語言? – CodeMonkey

+0

我正在使用Java。 – user1378762

+1

如果掩碼比輸入短,該怎麼辦?你截斷還是忽略? – CodeMonkey

回答

1

如果你需要使用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個位置,您仍然需要檢查輸出是否太長。

0

你可以試試這個:如果掩碼的長度大於輸入的長度,請取出差異並在輸入的前面添加許多加號。

+0

雖然我不明白那個面具的意思。你可以簡單地有一個理想的長度 – CodeMonkey

+0

是的,這是我的第一個想法,但我只是想問是否有一個更優雅的方式使用NumberFormat。 – user1378762

+0

面具也將成爲輸入的一部分。 – user1378762