Java-数学工具
Math
算术运算符用于处理基本的数***算,而Math类用于处理复杂的数***算。
- Math类不能被实例化,它的所有成员都是静态的,直接通过类名来访问。
- Math类提供了两个静态常量,分别是E(自然对数的基数)和PI(圆周率)。
- Math类提供了对数运算、指数运算、三角函数运算等一系列支持数***算的方法。
Random
Random类专门用于生成一个伪随机数。
- 伪随机数就是基于一个“种子”,采用特定算法计算而来的数字。
- 每次计算的结果将作为新的“种子”,用于生成下一个伪随机数。
- Random类有两个构造器:
- 无参构造器,使用默认的种子,即当前时间的毫秒数。
- 有参构造器,使用指定的种子,需要调用者显式地传入long型的整数。
BigDecimal
浮点数是不精确的,若要精确地表示和计算浮点数,则需要使用BigDecimal类。该类提供了一系列用于精确计算的方法,例如:add()、subtract()、multiply()、divide()、pow()等。有多种创建BigDecimal实例的办法,它们的区别如下:
// 建议使用该构造器,它的结果是可以预知的。public BigDeclmal(String val) { }// 不建议使用该构造器,因为它的参数是一个近似值。public BigDecimal(double val) { }// 若必须使用double型参数创建对象,建议使用这个静态方法来创建实例。public static BigDecimal valueOf(double val) { }
NumberFormat
NumberFormat用于实现数值的格式化。它提供了format()方法,可以将传入的数值格式化为字符串。还提供了parse()方法,可以将传入的格式字符串解析成数值。有多种创建NumberFormat实例的办法,区别如下:
// 返回默认地区的货币格式器public final static NumberFormat getCurrencyInstance() { }// 返回默认地区的数值格式器public final static NumberFormat getNumberInstance() { }// 返回默认地区的百分数格式器public final static NumberFormat getPercentInstance() { }// 此外,上述方法均有重载方法,可以显示地传入参数以指定地区。