Java中的十进制和特殊格式

Java中的十进制和特殊格式,java,formatting,numbers,format,decimal,Java,Formatting,Numbers,Format,Decimal,我想转换我的最终双精度值 i、 e(1.0) 以1美元的价格打印出来。这在Java中是如何实现的 我导入了java.lang* DecimalFormat formatter=新的DecimalFormat(“#.00”) 我不知道怎么才能把美元的牌子放进去。我不知道除了“$”+…..”之外还有什么其他方法可以做到这一点。使用: 要直接打印,请使用,例如在系统输出上使用: System.out.printf("$%.2f", myDouble); 使用DecimalFormat dou

我想转换我的最终双精度值 i、 e(1.0) 以1美元的价格打印出来。这在Java中是如何实现的

我导入了java.lang* DecimalFormat formatter=新的DecimalFormat(“#.00”)

我不知道怎么才能把美元的牌子放进去。我不知道除了“$”+…..”之外还有什么其他方法可以做到这一点。

使用:

要直接打印,请使用,例如在
系统输出上使用:

System.out.printf("$%.2f", myDouble);

使用
DecimalFormat

    double value = 1.0;
    DecimalFormat dformat = new DecimalFormat("#.00");
    String modifiedVal = dformat.format(value);
    System.out.println("$"+modifiedVal);
该类具有货币格式的预定义实例

double value = 1.0;
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.println(nf.format(value));

您可以使用Java中的
Locale
&
NumberFormat

NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("en","US"));
System.out.println(formatter.format(1.0));

你能展示你的代码吗(你尝试过什么)?老实说,printf或NumberFormat是一个更直接的解决方案,忽略了这个问题是一个dup。@BrianRoach是的,考虑过先使用
printf
,但将其改为
String.format
,因为它允许使用值而不是仅仅打印它。您可以使用
NumberFormat
,但我个人更喜欢简单。感谢您的反馈:)老实说,printf或NumberFormat是一个更直接的解决方案,忽略了这个问题是一个重复。@BrianRoach:谢谢,了解了一个新事物:)
NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("en","US"));
System.out.println(formatter.format(1.0));