如何在不使用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];
如果数字长度不相等,我仍然很难掌握如何排列小数并创建填充。
答案 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)