如何在 Vala 中将 int64 格式化为大写十六进制?
How to format int64 to upper case hex in Vala?
下面的例子编译不通过
public static int main (string[] args) {
var now = new GLib.DateTime.now_utc();
int64 val = now.to_unix();
print ("%" + int64.FORMAT + "\n", val);
print ("%X\n", val); // ERROR
return 0;
}
有一个用于十进制表示的 int64 格式字符串,但用于十六进制的 none(参见 Valadoc)。 %X
也不起作用。如何获取 int64 的大写十六进制格式?
错误是类型错误:参数 2:无法从 int64
转换为 uint
print
使用 printf format string 并接受指定为至少 64 位的 long long 类型。您可以使用 %llX
将 int64 打印为大写十六进制。
工作示例:
void main () {
var now = new GLib.DateTime.now_utc();
int64 val = now.to_unix();
print ("%" + int64.FORMAT + "\n", val);
print ("%llX\n", val);
}
下面的例子编译不通过
public static int main (string[] args) {
var now = new GLib.DateTime.now_utc();
int64 val = now.to_unix();
print ("%" + int64.FORMAT + "\n", val);
print ("%X\n", val); // ERROR
return 0;
}
有一个用于十进制表示的 int64 格式字符串,但用于十六进制的 none(参见 Valadoc)。 %X
也不起作用。如何获取 int64 的大写十六进制格式?
错误是类型错误:参数 2:无法从 int64
转换为 uint
print
使用 printf format string 并接受指定为至少 64 位的 long long 类型。您可以使用 %llX
将 int64 打印为大写十六进制。
工作示例:
void main () {
var now = new GLib.DateTime.now_utc();
int64 val = now.to_unix();
print ("%" + int64.FORMAT + "\n", val);
print ("%llX\n", val);
}