$%,.2f 代表什么?

Sin*_*bar 3 java printf

我目前正在阅读 Deitel 关于 Java 的书,并在他们的一个程序中遇到了这段代码:

public String toString()
{
  return String.format( "%s: %s\n%s: $%,.2f; %s: %.2f", 
     "commission employee", super.toString(), 
     "gross sales", getGrossSales(), 
     "commission rate", getCommissionRate() );
}
Run Code Online (Sandbox Code Playgroud)

正如标题所说,“.2f”前面的“$%”代表什么?我已经知道 .2f 是什么意思了。

kbi*_*kar 5

$ 字面上是美元符号,而 % 是参数 %,.2f 的开头(带有 2 个小数和一个逗号的浮点数)


rge*_*man 5

这个$角色在这里没有什么特别的意思。它只是$显示在字符串中的文字。该%角色需要它的通常含义在这里-用一个值来代替(这里,有2位小数)。

请注意,$字符可能在字符后具有含义%Formatter有关详细信息,请参阅javadoc的“参数索引”部分。