格式化Double变量

时间:2013-12-21 22:08:11

标签: java android

我遇到了向用户显示双变量格式的问题。该变量应该是一个double,但在一些计算init之后,它会向用户显示包括E符号。如何从中删除E符号并仅显示它是正常行为?

谢谢!

double formattedNumber = Double.parseDouble(new DecimalFormat("#############").format(myNum * calcal));

1 个答案:

答案 0 :(得分:2)

有多种方法可以将double值转换为文本表示。最简单的方法是使用字符串格式。考虑以下单元测试:

@Test
public void test() {
    System.out.format("%s%n", 1.12345e37);

    System.out.format("%e%n", 1.12345e37);
    System.out.format("%f%n", 1.12345e37);
    System.out.format("%g%n", 1.12345e37);

    System.out.format("%E%n", 1.12345e37);
    System.out.format("%G%n", 1.12345e37);
}

执行时会打印以下内容:

1.12345E37
1.123450e+37
11234500000000000000000000000000000000.000000
1.12345e+37
1.123450E+37
1.12345E+37

如您所见,各种格式模式会产生不同的结果。 %f变体给出了我​​认为你想要的答案。有关详细信息,请参阅String.formatFormat String Syntax