我有一个JSONObject
,其中包含一个带小数值的字符串,如下所示:
private static RegisterIn ParseRegisterIn(JSONObject object)
{
RegisterIn toReturn = new RegisterIn();
try {
toReturn.setUsername(object.getString("username"));
toReturn.setCertificate(new Short(Integer.toHexString(object.get("certificate"))));
} catch (JSONException e) {
e.printStackTrace();
}
return toReturn;
}
certificate
对象值 15879 ,对应于十六进制的 3E07 。我想从JSONObject中恢复它并将其保存在short
属性中。它应该是那样的。
我尝试访问该参数并将其恢复为上面发布的,但我得到以下异常:
java.lang.NumberFormatException:无效的int:“3e07”
如何获取此十进制值,将其转换为十六进制,并将其保存为短值?
注意:
toReturn.setCertificate(...)
是short
类型。
答案 0 :(得分:1)
您需要使用,
Short.parseShort(object.getString("certificate"), 16);
答案 1 :(得分:1)
使用Short.parseShort(object.getString("certificate"), 16);