我有其值为1000.00(10百万)双。我必须 其转换为String。当使用方法toString我正在String “1.0E7”,这是正确的规格以下。不幸的是,我需要 所述String“1000.00”(或取决于语言环境的等价物)。

如何可以实现这个?

其他提示

除了格式化,你可能会考虑使用java.math.BigDecimal类来精确表示的数字。

其中需要完整的精度计算,例如财务计算,最好用BigDecimal进行。浮点运算是用于工程,图形和其他数学计算,其中一些精度可以牺牲速度更好。

  public static void main(String[] args) throws ParseException {
    double aDouble = 10000000.00;
    DecimalFormat nf = (DecimalFormat) NumberFormat.getInstance(Locale.US);
    String aString = Double.toString(aDouble);
    System.out.println(nf.parse(aString));
  }

看到 “DecimalFormat的”。它可以让你格式化输出几乎不过你想要的!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top