如何添加存储在字符串中的数字

时间:2016-02-01 06:32:58

标签: java

如何在不使用BigDecimal类的情况下在Java中添加巨大的十进制数?

例如

HugeDecimal decimal1 = new HugeDecimal("16878898190.0523515");
HugeDecimal decimal2 = new HugeDecimal("27876186491.0523");

HugeDecimal decimal3 = decimal1.add(decimal2);

我知道你需要将它存储在一个字符串中并添加每个数字,我成功地添加了两个整数但是在小数部分时我没有成功。救命啊!

这是我到目前为止所拥有的

我将字符串的前半部分和小数点后的数字分开。

String string1 = "857267.421847921";
String[] halves = string.split("\\.");
String firstHalf = halves[0];
String secondHalf = halves[1];

如果数字长度不相等,我仍然很难掌握如何排列小数并创建填充。

1 个答案:

答案 0 :(得分:1)

正如您添加整个数字一样,将分数部分分开并单独添加。在添加之前,确保两个部分的长度相同。添加后长度的任何增加都意味着第一个数字应该添加到整个部分。

two numbers to add -> 10.101 + 2.9
take fraction parts -> 101, 9
make length of fraction parts equal -> 101, 900
add parts -> 101 + 900 = 1001
length has increased from 3 to 4, take digits that caused length increase and add them to the whole parts -> 10 + 2 + 1 = 13
result -> 13.001 (001 taken from addition of fraction parts 1001)