【问题标题】:Unable to parse ARGB hex to integer无法将 ARGB 十六进制解析为整数
【发布时间】:2011-10-09 15:00:38
【问题描述】:

我正在尝试将 ARGB 十六进制 String 解析为 int,但它不起作用。

我的代码:

int color = Integer.parseInt("ff686868", 16);

例外:

java.lang.NumberFormatException: unable to parse 'ff686868' as integer
at java.lang.Integer.parse(Integer.java:438)
at java.lang.Integer.parseInt(Integer.java:422)
...

当我尝试解析像 686868 这样的普通 RGB String 时,它确实可以工作,但是当我添加 alpha 时它会崩溃。我希望有一个人可以帮助我。

【问题讨论】:

    标签: java android parseint


    【解决方案1】:

    这个数字对于整数来说太大了。

    使用:Long.parseLong(..)

    【讨论】:

      【解决方案2】:

      使用java.lang.Long.parseLong()int 是有符号的,所以它只有 31 位 + 1 个符号位,而您使用全部 4 * 8 = 32 位。

      【讨论】:

        【解决方案3】:

        你可以使用Color.parseColor(String)来获取int

        【讨论】:

          【解决方案4】:
          Color.parseColor(String);
          

          如果 itz hexacode 这样做

          Color.parseColor("#ffffff");
          

          【讨论】:

            猜你喜欢
            • 2016-04-02
            • 2020-09-11
            • 1970-01-01
            • 1970-01-01
            • 2012-05-28
            • 2011-04-08
            • 2023-03-25
            • 2022-11-16
            • 1970-01-01
            相关资源
            最近更新 更多