java数字处理类

  • 数字格式化
public class DecimalFormatSimpleDemo {
	//使用实例化对象时设置格式模式
	static public void SimpleFormat(String pattern,double value) {
		DecimalFormat myFormat = new DecimalFormat(pattern);
		String output = myFormat.format(value);
		System.out.println(value+" "+pattern+" "+output);
	}
	
	//使用applyPattern()方法对数字进行格式化
	static public void UseApplyPatternMethodFormat(String pattern,double value) {
		DecimalFormat myFormat = new DecimalFormat();
		myFormat.applyPattern(pattern);
		System.out.println(value+" "+pattern+" "+myFormat.format(value));
	}
	
	public static void main(String[] args) {
		SimpleFormat("###,###.###",123456.789);
		SimpleFormat("00000000.###kg",123456.789);
		SimpleFormat("000000.000",123.78);
		UseApplyPatternMethodFormat("#.###%",0.789);
		UseApplyPatternMethodFormat("###.##",123456.789);
		UseApplyPatternMethodFormat("0.00\u2030",0.789);
	}
	
}
  • 其他格式化方法,例如分组

public class DeciamlMethod {
 
	public static void main(String[] args) {
		DecimalFormat myFormat = new DecimalFormat();
		myFormat.setGroupingSize(2); //设置将数字分组为2
		String output = myFormat.format(123456.789);
		System.out.println("将数字以每两个数字分组  "+output);
		myFormat.setGroupingUsed(false); //设置不允许数字分组
		String output2 = myFormat.format(123456.789);
		System.out.println("不允许数字分组  "+output2);
	}
 
}

输出结果:
//将数字以每两个数字分组 12,34,56.789
//不允许数字分组 123456.789
  • 数学运算 Math类

Math.方法
Math.PI
Math.E

  • Math类方法
// 最大值、最小值、绝对值
static int abs(int a)	返回 a 的绝对值
static long abs(long a)	返回 a 的绝对值
static float abs(float a)	返回 a 的绝对值
static double abs(double a)	返回 a 的绝对值
static int max(int x,int y)	返回 x 和 y 中的最大值
static double max(double x,double y)	返回 x 和 y 中的最大值
static long max(long x,long y)	返回 x 和 y 中的最大值
static float max(float x,float y)	返回 x 和 y 中的最大值
static int min(int x,int y)	返回 x 和 y 中的最小值
static long min(long x,long y)	返回 x 和 y 中的最小值
static double min(double x,double y)	返回 x 和 y 中的最小值
static float min(float x,float y)	返回 x 和 y 中的最小值

// 取整
static double ceil(double a)	返回大于或等于 a 的最小整数
static double floor(double a)	返回小于或等于 a 的最大整数
static double rint(double a)	返回最接近 a 的整数值,如果有两个同样接近的整数,则结果取偶数
static int round(float a)	将参数加上 1/2 后返回与参数最近的整数
static long round(double a)	将参数加上 1/2 后返回与参数最近的整数,然后强制转换为长整型

//三角函数
static double sin(double a)	返回角的三角正弦值,参数以孤度为单位
static double cos(double a)	返回角的三角余弦值,参数以孤度为单位
static double asin(double a)	返回一个值的反正弦值,参数域在 [-1,1],值域在 [-PI/2,PI/2]
static double acos(double a)	返回一个值的反余弦值,参数域在 [-1,1],值域在 [0.0,PI]
static double tan(double a)	返回角的三角正切值,参数以弧度为单位
static double atan(double a)	返回一个值的反正切值,值域在 [-PI/2,PI/2]
static double toDegrees(double angrad)	将用孤度表示的角转换为近似相等的用角度表示的角
staticdouble toRadians(double angdeg)	将用角度表示的角转换为近似相等的用弧度表示的角

//指数相关
static double exp(double a)	返回 e 的 a 次幂
static double pow(double a,double b)	返回以 a 为底数,以 b 为指数的幂值
static double sqrt(double a)	返回 a 的平方根
static double cbrt(double a)	返回 a 的立方根
static double log(double a)	返回 a 的自然对数,即 lna 的值
static double log10(double a)	返回以 10 为底 a 的对数
  • Math.random()
random()//代表返回一个[0,1)的浮点数
Math.random()*(n-m)+m //生成大于等于m小于n的随机数
(char)('a'+Math.random()*('z'-'a'+1)) //随机a~z的字符
  • Random类
public boolean nextBoolean()//是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。

public double nextDouble()//是生成一个随机的double值,数值介于[0,1.0)之间。

public int nextInt()//是生成在-2^31到2^31-1之间int值。如果需要生成指定区间的int值,则需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。

public int nextInt(int n)//是生成一个介于[0,n)的区间int值,包含0而不包含n。如果想生成指定区间int值,也需要进行一定的数学变换,具体参看下面的使用示例中的代码。

public void setSeed(long seed)//是重新设置Random对象中的种子数。设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同。

public float nextFloat(int n)//返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的  float 值。

public long nextLong()//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

public double nextGaussian()//返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。

你可能感兴趣的:(java)