【问题标题】:Decimal format class problems十进制格式类问题
【发布时间】:2013-04-19 21:38:39
【问题描述】:

我有一个字符串,我试图将其格式化为十进制格式,以便每 3 个数字使用十进制格式类,但我遇到了麻烦。这是我的代码

 public String getNum()


 {
     //turn the string myNum into a formatted number so there's a , after every 3 digits
      DecimalFormat formNum = new DecimalFormat(myNum "000,000");
     //set formNum to a string don't know what method to use for this step
      return formNum ;
  }

myNum 来自文本文档,在本例中是数字 6486,但在其他使用相同代码的情况下,它一直到 301122。使用这种方法,我想将这些数字转换为诸如 6,486 或 301,112 my构造函数语句我的 IDE 在其中告诉我“)”是预期的,我也不确定如何在格式化数字后将十进制格式更改回字符串。

【问题讨论】:

  • 你读过 API 吗?您是否查看了此页面骑行侧“相关”标题下的链接?
  • 是的,我正在尝试执行我在 API 中找到的 DecimalFormat(String pattern) 构造函数,但我无法弄清楚它为什么不起作用
  • API 有示例代码。右边的答案有示例代码。为什么我们在这里输入的代码会有所不同?

标签: java string parsing decimalformat


【解决方案1】:

您在 myNum 后面漏掉了一个逗号。还有,应该是

DecimalFormat formNum = new DecimalFormat("000,000");
return formNum.format(myNum);

【讨论】:

  • 加个逗号表示没有找到合适的构造函数
  • DecimalFormat 没有 (String, String) 的构造函数。 @Alex Chapp,使用 API:docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html。那里列出了如何使用该类的示例。
  • 是的,我自己也糊涂了一阵子,改了答案
  • 现在当我运行程序时,它告诉我无法将给定对象格式化为数字,我不知道为什么
  • @AlexChapp,我们也不知道为什么它不起作用。我们无权访问您的代码。我们不是读心术的人。不要每次遇到小问题都回论坛。自己解决一些问题。我们无法猜测您的代码是什么样的。您至少可以发布一个适当的 SSCCE,而不是说“它不起作用”!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 2020-02-19
相关资源
最近更新 更多