NumberFormat 格式化double型数值的问题

timmf 2009-04-22 08:58:51
public class TestFormat {
public static void main(String[] args) {
NumberFormat c = NumberFormat.getCurrencyInstance(Locale.CHINA);
Double d = -223423434d;
System.out.println(c.format(d));

}
}


最后的结果为:-¥223,423,434.00

怎么样才能得到:¥-223,423,434.00 这种格式的呢?
...全文
288 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longdayzhl 2009-04-22
  • 打赏
  • 举报
回复
NumberFormat nFormat = NumberFormat.getInstance(Locale.CHINA);
Double d = -223423434.233d;
String symbol = Currency.getInstance(Locale.CHINA).getSymbol(Locale.CHINA);
System.out.println(symbol + nFormat.format(d));
MT502 2009-04-22
  • 打赏
  • 举报
回复
String currencySymbol = Currency.getInstance(Locale.CHINA).getSymbol();
DecimalFormat c = new DecimalFormat("###,###,###,###,###.00");
Double d = -223423434d;
System.out.println(currencySymbol + c.format(d));
timmf 2009-04-22
  • 打赏
  • 举报
回复
这里有个问题就是原来比如说是Double d = -2d;显示出来就是2.00,是Double d = -2.1d;显示出来就是2.10,
而新的是整数就不保留小数位。有几位小数它就保留几位,没有统一格式。不知道如何修改?
MT502 2009-04-22
  • 打赏
  • 举报
回复
String currencySymbol = Currency.getInstance(Locale.CHINA).getSymbol();
NumberFormat c = NumberFormat.getInstance(Locale.CHINA);
Double d = -223423434d;
System.out.println(currencySymbol + c.format(d));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧