我怎样才能在java中得到总和?

时间:2012-08-08 02:18:46

标签: java sum

我想在java中加总。

所以,

  

例如,

     
    

1.123 + 1.123E-4 = 0.0123411234

  

那么,我如何在java中处理“E”?

5 个答案:

答案 0 :(得分:2)

使用BigDecimal

public static void main( String[] args ) {
    BigDecimal bigDecimal1 = new BigDecimal( "1.123" );
    BigDecimal bigDecimal2 = new BigDecimal( "1.123E-4" );
    BigDecimal sum = bigDecimal1.add( bigDecimal2 );
    System.out.println( sum );
}

输出:

1.1231123

答案 1 :(得分:1)

使用BigDecimal课程。请参阅http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String)以获取将采用类似“1.123E-4”的字符串的构造函数。

答案 2 :(得分:0)

你的意思是这样的吗?

String a = "1.123";
String b = "1.123E-4";

double d1 = Double.valueOf(a);
double d2 = Double.valueOf(b);

System.out.println("sum = " + (d1 + d2));

Double的valueOf()方法可以为您解析 E 表示法。

实际上,结果是:1.1231123

答案 3 :(得分:0)

嗯,你有没试过?

final class SciNotationTest {

  public static void main(final String[] argv) {
    final double sum = 1.123 + 1.123E-4;
    System.out.println(sum);
    assert 1.1231123 == sum;
  }
}

C:\dev\scrap>javac SciNotationTest.java

C:\dev\scrap>java -ea SciNotationTest
1.1231123

使用double并在没有容差的情况下测试相等性时应该小心,因为浮点通常是不精确的。如果您正在努力实现高精度,请务必使用BigDecimal

答案 4 :(得分:0)

使用Double.parseDouble()执行此操作...

String n1 = "1.123";
String n2 = "1.123E-4";

double dn1 = Double.parseDouble(n1);
double dn2 = Double.parseDouble(n2);


System.out.println("Total : " + (dn1 + dn2));

<强>输出:

1.1231123