使用十六进制值

时间:2015-07-23 16:22:14

标签: java android json

我有一个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类型。

2 个答案:

答案 0 :(得分:1)

您需要使用,

Short.parseShort(object.getString("certificate"), 16);

答案 1 :(得分:1)

使用Short.parseShort(object.getString("certificate"), 16);