如何在 Java 中使用长值的 printf() 方法?
How to use printf() method with long values in Java?
我记得我是用 C 做的,但我无法在 Java 中使用它。
如何在 Java 中使用 printf() 方法打印长值?
我尝试使用下面的代码,我实际需要的是以十六进制方式打印 long 值,如下所示
长 l = 32L -----> 0000000000000022
如果我使用 %d 那么它会打印出我不想要的整数值...
class TestPrintf()
{
public static void main(String[] args)
{
long l = 100L;
System.out.printf(“%l”+l); // Error unknown format exception
System.out.printf(“%d”+l); // Prints 100
System.out.printf(“%f”+l); // Unknown illegal format conversion float != java.lang.long
}
}
您需要将要打印的实际参数作为 printf()
方法的下一个参数。串联将不起作用。
System.out.printf("%d%n", 123); // for ints and longs
System.out.printf("%d%n", 12345L); // for ints and longs
System.out.printf("%f%n", (double) 12345L); // for floating point numbers
java.util.Formatter
中的完整文档
如果你想要一个 16 个字符的零填充字符串,A-F
大写,前缀为 0x
,你应该使用:
System.out.printf("0x%016X", l);
我记得我是用 C 做的,但我无法在 Java 中使用它。
如何在 Java 中使用 printf() 方法打印长值?
我尝试使用下面的代码,我实际需要的是以十六进制方式打印 long 值,如下所示
长 l = 32L -----> 0000000000000022
如果我使用 %d 那么它会打印出我不想要的整数值...
class TestPrintf()
{
public static void main(String[] args)
{
long l = 100L;
System.out.printf(“%l”+l); // Error unknown format exception
System.out.printf(“%d”+l); // Prints 100
System.out.printf(“%f”+l); // Unknown illegal format conversion float != java.lang.long
}
}
您需要将要打印的实际参数作为 printf()
方法的下一个参数。串联将不起作用。
System.out.printf("%d%n", 123); // for ints and longs
System.out.printf("%d%n", 12345L); // for ints and longs
System.out.printf("%f%n", (double) 12345L); // for floating point numbers
java.util.Formatter
如果你想要一个 16 个字符的零填充字符串,A-F
大写,前缀为 0x
,你应该使用:
System.out.printf("0x%016X", l);