数字的格式化输出
DecimalFormat类
NumberFormat类的子类,主要用于数字的格式化
方法 | 内容 |
---|---|
DecimalFormat(String a) | 创建一个据有指定模式( a ) 的DecimalFormat新对象(构造方法) |
String format(double number) | 根据当前的指定模式将number格式化为字符串,并返回 |
案例
import java.text.DecimalFormat;
public class NumberFormatDemo {
public static void main(String [] args) {
//圆周率
Double pi=3.1415926535;
//取整数
System.out.println(new DecimalFormat("0").format(pi));//3
//取一位整数和两位小数
System.out.println(new DecimalFormat("0.00").format(pi));//3.14
//取两位整数和三位小数,整数不足部分以0填充
System.out.println( new DecimalFormat("00.000").format(pi));
//以百分比方式计数,并保留两位小数
System.out.println(new DecimalFormat("#.##%").format(pi));
//光速
long c=299792458;
//以科学计数法的的形式计数,并保留五位小数
System.out.println(new DecimalFormat("0.00000E0").format(c));
//显示为两位整数的科学计数法,并保留两位小数
System.out.println(new DecimalFormat("00.00E0").format(c));
//每三位以逗号隔开
System.out.println(new DecimalFormat(",000").format(c));
//将格式嵌入文本
System.out.println(new DecimalFormat("光速大小为每秒,000米").format(c));
}
}
结果:
3
3.14
03.142
314.16%
2.99792E8
29.98E7
299,792,458
光速大小为每秒299,792,458米
用Math.random()方法获取随机数
Math.random()方法只可获取[0,1)之间的随机数(0可以得到,1得不到)
案例:
public class SuiJiShuDemo {
public static void main(String [] args) {
//Math.random()只可以生成 [0,1) 之间的随机数.
for(int i=0;i<2;i++) {
double a =Math.random();
System.out.println(new DecimalFormat("0.00").format(a));
}
}
如需要获取a~b之间的随机数,需要Math.random()*(a-b+1)
案例:
//用Math类中的random函数生成45~91之间的随机数
for (int i=0;i<10;i++) {
System.out.println((int)(Math.random()*(91-46+1))+45);
}