整数转十六进制字符串

Integer to hexadecimal string

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

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

我如何反其道而行之,获取整数的十六进制字符串表示形式?

编辑:parseIntegerformatInteger 函数均已弃用,因为添加了静态方法,请改用 Integer.format 函数。

使用formatInteger函数。

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

使用Integer.parse and 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 returns 失败时 ParseException 而不是 Null 以便在该失败案例中有更多信息。