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
新闻热点
疑难解答