我知道如何在Ceylon中编写十六进制文字整数(#A3
)。我也知道如何在Ceylon中解析十六进制整数。
Integer? integer = parseInteger("A3", 16);
print(integer.string); // 163
我怎样走另一条路,得到一个整数的十六进制字符串表示?
答案 0 :(得分:2)
使用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
在失败时返回ParseException
而非Null
,以便在失败的情况下提供更多信息。
答案 1 :(得分:0)
修改:由于添加了静态方法,因此不推荐使用parseInteger
和formatInteger
函数,而是使用Integer.format
函数。
使用formatInteger
功能。
Integer? integer = parseInteger("A3", 16);
assert(exists integer);
print(formatInteger(integer, 16)); // a3