我有一个整数值,我想将它转换为十六进制。将整数转换为十六进制字符串
我这样做:
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