我有一個整數值,我想將它轉換爲十六進制。將整數轉換爲十六進制字符串
我這樣做:
private short getCouleur(Integer couleur, HSSFWorkbook classeur) {
if (null == couleur) {
return WHITE.index;
} else {
HSSFPalette palette = classeur.getCustomPalette();
String hexa = Integer.toHexString(couleur);
byte r = Integer.valueOf(hexa.substring(0, 2), 16).byteValue();
byte g = Integer.valueOf(hexa.substring(2, 4), 16).byteValue();
byte b = Integer.valueOf(hexa.substring(4, 6), 16).byteValue();
palette.setColorAtIndex((short) 65, r, g, b);
return (short) 65;
}
}
在輸出我有此:
傳送彩色:65331
六:FF33
hexa.substring(0, 2):FF
hexa.substring(2,4):33
hexa.substring(4,6):
ř:-1
克:51
b:error message
錯誤消息:字符串索引超出範圍:6
THX。
已經回答了這裏 - http://stackoverflow.com/questions/5258415/how-to-get-hex-value-from-integer-in-java – radai
Integer.toHexString –
@radai它是不一樣的問題 – Mercer