数字格式化
java.text.DecimalFormat
两种方法:
import jva.text.DecimalFormat
public class DecimalFormatSimpleDemo{
// 第一种
static public void SimpleFormat(String pattern,double value){
DecimalFormat myFormat = new DecimalFormat(pattern);
System.out.println(myFormat.format(value));
}
// 第二种
static public void useApplyPatternMethodFormat(String pattern,double value){
DecimalFormat myFormat = new DecimalFormat();
myFormat.applyPattern(pattern);
System.out.println(myFormat.format(value));
}
}
使用例子:
SimpleFormat("###,###.###", 123456.789)
SimpleFormat(“00000000.###kg”,123456.789)
UseApplyPatternMethodFormat("###.##", 123456.789) //格式化为小数点后两位
UseApplayPatternMethodFormat("#.###%", 0.789) //将数字转换为百分数形式
UseApplayPatternMethodFormat(“0.00\u2030”, 0.789) //将数字转换为千分数形式
数字分组(12,345,678)
DecimalFormat myFormat = new DecimalFormat()
myFormat.setGroupingSize(2); // 输出为 12,34,56,78
myFormat.setGroupingUsed(false);
数学运算
Math类
三角函数方法
Math.PI
Math.E
三角函数:
例子:
System.out.println("90度的正弦值: " + Math.sin(Math.PI/2));
System.out.println("60度的正切值: " + Math.tan(Math.PI/3));
指数函数方法
System.out.println("e的平方值: " + Math.exp(2));
System.out.println("4的平方值: " + Math.sqrt(4));
System.out.println("2的2次方值: " + Math.pow(2,2));
取整函数方法
Math.ceil(2.2) … 等等
ceil 向上取整
floor 向下取整
rint 最接近的整数-》 最接近的偶数
round +0.5后 取最接近的整数
随机数
Math.random()
public static int GetEvenNum(double num1, double num2) {
// 产生num1-num2之间的随机数
int s = (int)num1 + (int)(Math.random() * (num2 - num1));
return s;
}
也可以产生随机字符
(char)('a' + Math.random()*('z'-'a'+1)); // a-z随机字符
(char)(char1 + Math.random()*(char2 - cahr1 + 1)); // 任意随机字符
Random类
Random r = new Random() // 以系统时间作为随机数生成器的种子
Random r = new Random(seedValue) // 随机生成器种子(推荐)
r.nextInt(); // 随机整数
r.nextInt(10) // 随机0-10整数
r.nextBoolean();
r.nextDouble();
r.nextFloat();
大数字运算
BigInteger
BigInteger bigInstance = new BigInteger("22312");
常用运算:
bigInstance.add(new BigInteger("123"));
bigInstance.subtract(new BigInteger("123"));
bigInstance.multiply(new BigInteger("123"));
bigInstance.divide(new BigInteger("123"));
bigInstance.divideAndRemainder(new BigInteger("123"))[0]; //商
bigInstance.divideAndRemainder(new BigInteger("123"))[1]; //余
bigInstance.pow(2);
bigInstance.negate(); //取相反数
课后练习
public class Practice9_Num {
public static int getEvenNum(double num1, double num2) {
int s = (int)num1 + (int)(Math.random()*(num2 - num1));
return s ;
}
public static double getCircleArea(double radius) {
double res = Math.PI * radius * radius;
return res;
}
public static void main(String[] args) {
int res = 0 ;
for(int i = 0 ; i < 6 ; i ++) {
res += getEvenNum(2,32);
}
System.out.println(res);
int radius = 2;
System.out.println(getCircleArea(radius));
}
}