整数到十六进制字符串

时间:2018-04-08 13:43:44

标签: format ceylon

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

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

我怎样走另一条路,得到一个整数的十六进制字符串表示?

2 个答案:

答案 0 :(得分:2)

使用Integer.parseInteger.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在失败时返回ParseException而非Null,以便在失败的情况下提供更多信息。

答案 1 :(得分:0)

修改:由于添加了静态方法,因此不推荐使用parseIntegerformatInteger函数,而是使用Integer.format函数。

使用formatInteger功能。

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