- 数字格式化
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。