我知道我可以使用String.substring或寫一些額外的代碼,但有沒有簡單的方法來實現這一點只使用String.format?Java格式整數限制寬度通過截斷到右
例如,我只想要的前6個字符的結果「1234ab」:
int v = 0x1234abcd;
String s = String.format("%06x", v) // gives me 1234abcd
String s = String.format("%06.6x", v) // gives me IllegalformatPrecesionException
Java的格式化文檔,所述精度可以用來限制整個輸出寬度,但只對某些數據類型。
任何想法?謝謝。
因爲整數不能有小數點(這就是爲什麼你會得到這個例外),那麼第二個不會工作。 – jzarob
如果'v'是(說的話),你想要什麼''' )'0xEF'? – ruakh
最簡單的解決方案就是取一個子字符串:'String.format(「%6x」,v).substring(0,6)'。如果小於6個十六進制數字,則必須注意。根據[documentation](http://docs.oracle.com/javase/6/docs/api/java/util/Formatter.html#syntax)的 – Jesper