加減法計算器-java


由於經常進行較大數據的加減法計算,好多計算器都是轉換成科學技術法的,所以自己用java寫了一個

功能如下:

1,可以輸入多個帶千位分隔符的數字,進行加減法計算

2,結果展示帶千位分隔符

3,結果展示不是科學計數法的形式

代碼如下:

import java.math.BigDecimal;

import java.text.DecimalFormat;

import java.text.ParseException;

 

public class Calculator {

 

// 提供精確的加法運算

public static String add(String add1, String... add2) {

String v1;

try {

// 去掉千位分割符

v1 = new DecimalFormat().parse(add1).toString();

// 用字符串構造BigDecimal

BigDecimal sum = new BigDecimal(v1);

for (String v2 : add2) {

v2 = new DecimalFormat().parse(v2).toString();

sum = sum.add(new BigDecimal(v2));

}

// 添加千位分隔符,保留兩位小數

DecimalFormat df = new DecimalFormat("#,###.00");

String dfSum = df.format(sum);

return dfSum;

} catch (ParseException e) {

e.printStackTrace();

}

return null;

}

 

// 精確的減法運算

public static String sub(String sub1, String... sub2) {

String v1;

try {

// 去掉千位分割符

v1 = new DecimalFormat().parse(sub1).toString();

// 用字符串構造BigDecimal

BigDecimal sum = new BigDecimal(v1);

// 減法計算

for (String v2 : sub2) {

v2 = new DecimalFormat().parse(v2).toString();

sum = sum.subtract(new BigDecimal(v2));

}

// 添加千位分隔符,保留兩位小數

DecimalFormat df = new DecimalFormat("#,###.00");

String dfSum = df.format(sum);

return dfSum;

} catch (ParseException e) {

e.printStackTrace();

}

return null;

}

 

 

public static void main(String[] args) {

 

System.out.println(Calculator.sub("6,300,000,000.02", "2,391,000,050.00","1"));

 

System.out.println("-----------");

 

System.out.println(Calculator.add("3,908,999,949.02", "2,391,000,050.00", "1.00"));

}

 

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM