数字处理工具类:
BigInteger:
类可以让超过Integer范围内的数据进行运算。
构造方法:public BigInteger(String var)
常用方法:
public BigInter add(BigInteger var) //加法
public BigInter subtract(BigInteger var) //减法
public BigInter multiply(BigInteger var) //乘法
public BigInter divide(BigInteger var) //除法(整除)
public BigInter add(BigInteger var) //取模(%余数)
public BigInteger[] divideAndRemainder(BigInteger val) //返回数组,同时计算除法和取模
BigDecimal:
可以精确的表示和计算浮点数而不丢失精度
构造方法:public BigDecimal(String var)
常用方法:
public BigDecimal add(BigDecimal var) //加法
public BigDecimal subtract(BigDecimal var) //减法
public BigDecimal multiply(BigDecimal var) //乘法
public BigDecimal divide(BigDecimal var) //除法(整除)
public BigDecimal add(BigDecimal var) //取模(%余数)
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
//BigInteger类
String var1 = "425356347458687";
String var2 = "234356346745768";
BigInteger b1 = new BigInteger(var1);
BigInteger b2 = new BigInteger(var2);
System.out.println(b1.add(b2));
System.out.println(b1.subtract(b2));
System.out.println(b1.multiply(b2));
System.out.println(b1.divide(b2));
//divideAndRemainder(),返回数组,同时计算除法和取模
System.out.println(Arrays.toString(b1.divideAndRemainder(b2)));
//BigDecimal类
String var3 = "788.23423432563626";
String var4 = "44.432342532634564";
BigDecimal b3 = new BigDecimal(var3);
BigDecimal b4 = new BigDecimal(var4);
System.out.println(b3.add(b4));
System.out.println(b3.subtract(b4));
System.out.println(b3.multiply(b4));
//当除不尽时会报异常:ArithmeticException;可以才采用方法scale()返回标度
System.out.println(b3.divide(b4));
//System.out.println(b3.scale()-b4.scale());
//DecimalFormat类,对大数据格式化
double pi = 3.1415926; //圆周率
//取一位整数,结果:3
System.out.println(new DecimalFormat("0").format(pi));
//取一位整数和两位小数,结果:3.14
System.out.println(new DecimalFormat("0.00").format(pi));
//取两位整数和三位小数,整数不足部分用0补齐,结果:03.145
System.out.println(new DecimalFormat("00.000").format(pi));
//取所有整数部分,结果:3
System.out.println(new DecimalFormat("#").format(pi));
//以百分比方式计数,并取两位小数,结果:314.16%
System.out.println(new DecimalFormat("#.##%").format(pi));
long num = 623461314;
//以逗号每隔三位分隔,结果:623,461,314
System.out.println(new DecimalFormat("###,###").format(num));
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。