Dio*_*ijn 5 java android hex numberformatexception
在我的应用程序中,我使用转换器从3个值> RGB颜色和Hex值创建.我在运行时使用它在我的应用程序中设置渐变背景.
现在这是以下问题.转换器的结果是a (String) #45E213,这不能存储在整数中.但是当你创建一个整数时
int hex = 0x45E213;
它确实工作正常,这不会给出错误.
现在我知道了这一点,我将其替换#为了0x,并尝试将其从String转换为Integer.
int hexToInt = new Integer("0x45E213").intValue();
但是现在我得到了numberFormatException,因为在转换时,它会不同意这个角色E?
我怎么解决这个问题?因为我真的需要它作为整数或Java/Eclipse不会在它的方法中使用它.
Mat*_*sch 12
http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html
带有字符串的Integer构造函数与带有基数10的parseInt的行为相同.您可能希望String.parseInt带有基数16.
Integer.parseInt("45E213", 16)
或者切断0x
Integer.parseInt("0x45E213".substring(2), 16);
要么
Integer.parseInt("0x45E213".replace("0x",""), 16);
鲜为人知的Integer.decode(String)在这里可能很有用.请注意,它也会以八进制为前导零,你可能不想要它,但如果你正在寻找便宜又开朗的东西......
int withHash = Integer.decode("#45E213");
System.out.println(Integer.toHexString(withHash));
int withZeroX = Integer.decode("0x45E213");
System.out.println(Integer.toHexString(withZeroX));
产量
45e213
45e213
| 归档时间: | 
 | 
| 查看次数: | 22500 次 | 
| 最近记录: |