Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这些符号字符串是什么意思:%02d%01d?_Java_Printf - Fatal编程技术网

Java 这些符号字符串是什么意思:%02d%01d?

Java 这些符号字符串是什么意思:%02d%01d?,java,printf,Java,Printf,我看到的代码行类似于: sprintf(buffer,"%02d:%02d:%02d",hour,minute,second); 我认为符号字符串指的是每小时、每分钟等显示的数字字符数——或者类似的数字,我不完全确定 正常情况下,我可以解决这类问题,但在google上搜索“%02d%01d”时,我找不到任何有用的参考资料。有人能帮我解释一下吗? 同样的规则也适用于Java 在您的情况下,它意味着以2位或更多位输出整数值,如果数字小于或等于9,则第一位为零。Alexander的答案指的是完整的文

我看到的代码行类似于:

sprintf(buffer,"%02d:%02d:%02d",hour,minute,second);
我认为符号字符串指的是每小时、每分钟等显示的数字字符数——或者类似的数字,我不完全确定

正常情况下,我可以解决这类问题,但在google上搜索“%02d%01d”时,我找不到任何有用的参考资料。有人能帮我解释一下吗?

同样的规则也适用于Java


在您的情况下,它意味着以2位或更多位输出整数值,如果数字小于或等于9,则第一位为零。Alexander的答案指的是完整的文档


问题中的简单示例只是用两位数字打印出这些值,必要时加上前导0。

而不是用谷歌搜索
%02d
您应该搜索
sprintf()
函数

%02d
的意思是“用2位数字格式化整数,用零填充它”,因此:

格式化数据结果 %02d 101 %02d 11 11


这篇文章是关于printf函数类的,从50年代到今天,使用了几种语言。

它们是格式化
字符串的。中给出了特定于Java的语法

一般语法如下:

   %[argument_index$][flags][width][.precision]conversion
%02d
执行十进制整数转换
d
,格式为零填充(
0
标志),宽度
2
。因此,值为say
7
int
参数将被格式化为
“07”
字符串

您也可以在中看到此格式字符串,例如


常用格式 这些只是一些常用的格式,并没有详尽地介绍语法

数字的零填充 对正宽度 您可以使用
-
标志进行左对齐;否则就对了

for (Map.Entry<Object,Object> prop : System.getProperties().entrySet()) {
    System.out.printf("%-30s : %50s%n", prop.getKey(), prop.getValue());
}
要获得更强大的消息格式,可以使用<代码>%n
是换行符转换(见下文)

十六进制转换 要获得更强大的浮点格式,请改用

%n
用于平台特定的行分隔符
%%
用于实际的
%%
-符号 请注意,
double
literal
99.99
自动装箱到
double
,在此基础上定义了使用
toString()
的字符串转换

n$
用于显式参数索引
%是一种特殊的字符,您可以将其放入格式字符串中,例如在C语言printf和scanf(和family)中,它基本上表示“这是其他内容的占位符,不能按字面意思打印/读取。”

例如,printf格式字符串中的
(%02d)
是整数变量的占位符,该变量将以十进制
(%02d)
格式打印,并填充到至少两位数字,必要时使用零

实际整数由您在函数的参数中提供,例如,
printf(“%02d”,5)
如果要在屏幕上打印
05
(%01d)
也同样有效


java和其他语言的相同保持:(

)它也存在于C++和许多其他类似C语言中。添加到Alxand EnrMP注释(帮助搜索引擎)中,它也以相同的方式在R中使用SaveFf{Base}函数,它是C函数的包装器。
System.out.printf("Agent %03d to the rescue!", 7);
// Agent 007 to the rescue!
for (Map.Entry<Object,Object> prop : System.getProperties().entrySet()) {
    System.out.printf("%-30s : %50s%n", prop.getKey(), prop.getValue());
}
java.version                   :                                 1.6.0_07
java.vm.name                   :               Java HotSpot(TM) Client VM
java.vm.vendor                 :                    Sun Microsystems Inc.
java.vm.specification.name     :       Java Virtual Machine Specification
java.runtime.name              :          Java(TM) SE Runtime Environment
java.vendor.url                :                     http://java.sun.com/
System.out.println(Integer.toHexString(255));
// ff

System.out.printf("%d is %<08X", 255);
// 255 is 000000FF
System.out.printf("%+,010.2f%n", 1234.567);
System.out.printf("%+,010.2f%n", -66.6666);
// +01,234.57
// -000066.67
System.out.printf("%s,%n%s%n", "Hello", "World");
// Hello,
// World
System.out.printf("It's %s%% guaranteed!", 99.99);
// It's 99.99% guaranteed!
System.out.printf("%1$s! %1$s %2$s! %1$s %2$s %3$s!",
    "Du", "hast", "mich"
);
// Du! Du hast! Du hast mich!
System.out.format("%s?! %<S?!?!?", "Who's your daddy");
// Who's your daddy?! WHO'S YOUR DADDY?!?!?