1.整型大數類(BigInteger):
//構造:BigInteger(String val) 將 BigInteger的十進制字符串表示形式轉換為 BigInteger//對象.toString(int radix) 返回此 BigInteger 的給定基數的字符串表示形式//對象.pow(int exponent) 返回其值為 (thisexponent) 的 BigInteger //除此還有max,min,mod,gcd最大公約數,add,subtract,mutiply,divide等import java.math.BigInteger;//BigInteger類public class BigIntegerDemo { public static void main(String[] args) { BigInteger bi1 = new BigInteger("987654321");//構造方法,將字符串轉換為BigInteger類 BigInteger bi2 = new BigInteger("123456789"); System.out.PRintln("加法:" + bi1.add(bi2));//調用add()方法 System.out.println("減法:" + bi1.subtract(bi2)); System.out.println("乘法:" + bi1.multiply(bi2)); System.out.println("除法:" + bi1.divide(bi2)); System.out.println("取余:" + bi1.mod(bi2)); //public BigInteger[] divideAndRemainder(BigInteger val)返回包含 (this / val) 后跟 (this % val) 的兩個 BigInteger 的數組 BigInteger div[] = bi1.divideAndRemainder(bi2); System.out.println("商余除法:商:" + div[0] + ",余:" + div[1]); System.out.println("bi1的5次方為:" + bi1.pow(5)); }}1.浮點型大數類(BigDecimal)://構造://BigDecimal(BigInteger val) 將 BigInteger 轉換為 BigDecimal。//BigDecimal(String val) 將 BigDecimal 的字符串表示形式轉換為 BigDecimal,還可以int double long//方法://對象.toString()返回此 BigDecimal 的字符串表示形式,如果需要指數,則使用科學記數法//對象.toPlainString() 返回不帶指數字段的此 BigDecimal 的字符串表示形式。//對象.stripTrailingZeros() 返回數值上等于此小數,但從該表示形式移除所有尾部零的 BigDecimal。//對象.BigDecimal add(BigDecimal augend) 返回一個 BigDecimal,其值為 (this + augend),其標度(精度)為 max(this.scale(), augend.scale())。 import java.math.BigDecimal;public class BigDecimalDemo { public static void main(String[] args) { BigDecimal bi1 = new BigDecimal(2345.6789);//將double類型轉換為BigDecimal類型 BigDecimal bi2 = new BigDecimal(98765.4321); System.out.println("BigDecimal類型轉換為double類型:" + bi1.doubleValue());//將BigDecimal類型轉換為double類型 System.out.println("加法:" + bi1.add(bi2).doubleValue());//add()方法返回值類型是BigDecimal類型需要轉換為double System.out.println("減法:" + bi1.subtract(bi2).doubleValue()); System.out.println("乘法:" + bi1.multiply(bi2).doubleValue()); //divide(對象,保留的位數,四舍五入的常量) 除法方法的應用 System.out.println("BigDecimal.ROUND_HALF_UP=" + BigDecimal.ROUND_HALF_UP); System.out.println("除法:" + bi2.divide(bi1,BigDecimal.ROUND_HALF_UP).doubleValue());//未四舍五入 System.out.println("除法:" + bi2.divide(bi1,3,BigDecimal.ROUND_HALF_UP).doubleValue());//保留三位小數 BigDecimal bi3 = new BigDecimal("12345.6789");//將String類型轉換為BigDecimal類型 BigDecimal bi4 = new BigDecimal("98765.4321111"); System.out.println("加法:" + bi3.add(bi4).doubleValue());//add()方法返回值類型是BigDecimal類型需要轉換為double System.out.println("除法:" + bi4.divide(bi3,BigDecimal.ROUND_HALF_UP).toEngineeringString()); System.out.println("BigDecimal類型轉換為EngineeringString類型:" + bi3.toEngineeringString()); }}更多構造及方法請點此處查找:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
新聞熱點
疑難解答