Java 格式为$XX.XX的字符串格式,

Java 格式为$XX.XX的字符串格式,,java,string.format,Java,String.format,这可能是一个重复的帖子,但我找不到任何确切的东西,我正在寻找。我试图取一个简单的双精度数字,任何数量都不能超过100,并使用字符串格式将其格式化为XX.XX,例如45.4000000000这样的值 我尝试过的事情 string.format("%f",valuehere) string.format("%2f",valuehere) 我不太理解javadocs,但我只是想问一下,好像我在%f中添加了一个$,比如$%f,valuehere,它也应该用美元符

这可能是一个重复的帖子,但我找不到任何确切的东西,我正在寻找。我试图取一个简单的双精度数字,任何数量都不能超过100,并使用字符串格式将其格式化为XX.XX,例如45.4000000000这样的值

我尝试过的事情

string.format("%f",valuehere)
string.format("%2f",valuehere)

我不太理解javadocs,但我只是想问一下,好像我在%f中添加了一个$,比如$%f,valuehere,它也应该用美元符号输出,对吗?

您应该在格式中添加十进制分隔符。在您的案例中,格式应为
%.2f
,根据

这意味着什么:

%
放在格式化的开头

.2
表示小数点后需要两位数字

f
表示我们在这里处理浮点数

String.format("%.2f",500.0545 )

这不是一个答案,但因为你似乎在处理金钱问题,你应该知道你不应该使用
double
float
来表示金钱-而是使用
BigDecimal
。看看为什么。谢谢!我会调查这一点,并试图找出如何解决我需要的美元,我可以从这里使用它。例如,
String s=NumberFormat.getCurrencyInstance().format(值)