代码之家  ›  专栏  ›  技术社区  ›  drhagen

整数到十六进制字符串

  •  1
  • drhagen  · 技术社区  · 6 年前

    我知道如何写十六进制文字整数( #A3 )在锡兰。我还知道如何在锡兰解析十六进制整数。

    Integer? integer = parseInteger("A3", 16);
    print(integer.string); // 163
    

    另一方面,如何获取整数的十六进制字符串表示形式?

    2 回复  |  直到 6 年前
        1
  •  2
  •   drhagen    6 年前

    使用 Integer.parse Integer.format 功能。它们都采用基数,可用于生成使用任意基数的整数字符串(十六进制为16)。默认情况下 formatInteger 生成带有小写字母的字符串。使用 uppercased 如果需要大写版本,请在字符串上指定。

    Integer|ParseException integer = Integer.parse("A3", 16);
    assert(is Integer integer);
    print(Integer.format(integer, 16)); // a3
    print(Integer.format(integer, 16).uppercased); // A3
    

    请注意 format 不是的实例方法 Integer ;这是一个静态方法,所以您不能 integer.format(16)

    另外,请注意 parse 返回a ParseException 失败时,而不是 Null 因此,在这个失败的案例中有更多的信息。

        2
  •  0
  •   drhagen    6 年前

    编辑:两个 parseInteger formatInteger 由于添加了静态方法,函数已弃用,请使用 Integer.format 功能。

    使用 formatInteger 作用

    Integer? integer = parseInteger("A3", 16);
    assert(exists integer);
    print(formatInteger(integer, 16)); // a3