第九章 数字处理类

数字格式化

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));
		
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值