繁体   English   中英

Java:将双精度转换为字符串

[英]Java: Converting a double to a String

我有一个双精度值是 10,000,000.00(千万)。 我必须将其转换为String 当使用toString方法时,我得到了符合规范的String “1.0E7”。 不幸的是,我需要String “10,000,000.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));
  }

查看“十进制格式”。 它可以让您随意格式化输出!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM