数字的格式化
①Math类:
abs(); 绝对值
public class Test {
public static void main(String[] args) {
int a = Math.abs(-7);
System.out.println(a); // 打印7
}
ceil(); 向上取整
floor(); 向下取整
public class Test {
public static void main(String[] args) {
double d1 = Math.ceil(12.345);
double d2 = Math.ceil(12.745);
double d3 = Math.floor(12.345);
double d4 = Math.floor(12.745);
System.out.println(d1); //打印13
System.out.println(d2); //打印13
System.out.println(d3); //打印12
System.out.println(d4); //打印12
}
}
round(); 四舍五入取整
public class Test {
public static void main(String[] args) {
double d5 = Math.round(13.111);
double d6 = Math.round(13.711);
System.out.println(d5); //打印13
System.out.println(d6); //打印14
}
}
random(); 取随机数(0-1,不包括1)
还可以用java.util.Random
nextInt(int bounds)
全球唯一标识 UUID 一般用于文件上传,重名的。上传时随机生成改名
import java.util.UUID;
public class Test {
public static void main(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid); //打印一个很长的名字
}
}
Date 时间戳 某一个时间点到当前时间的毫秒数,弊端:服务器快会重名
public class Test {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date.getTime()); //一串数字
}
}
②NumberFormat
DecimalFormat
public class Test2 {
public static void main(String[] args) {
double d = 12.3456789;
double d2 = 0.35;
DecimalFormat df = new DeciamalFormat("##.##") //打印12.34
DecimalFormat df = new DeciamalFormat("000.##") //打印0012.34
DecimalFormat df = new DeciamalFormat("##%") //打印35%
String s = df.format(d);
String s = df.format(d2);
System.out.println(s);
String.format("%.2f",d) 也可以格式化小数点,参数写几个都行,不写也行
System.out.println(s1); //打印出12.35 会四舍五入
System.out.printf("%.2f",d); //也是打印12.35
}
}
对日期的操作
public class Test2 {
public static void main(String[] args) {
Date date = new Date();
DateFormat df = DateFormat.getInstance();
DateFormat df = DateFormat.getInstance(DateFormat.SHORT);18-5-8
DateFormat df = DateFormat.getInstance(DateFormat.LONG);2018年5月8日
DateFormat df = DateFormat.getInstance(DateFormat.MEDIUM);2018-5-8
DateFormat df = DateFormat.getInstance(DateFormat.FULL);2018年5月8日 星期二
String s = df.format(date);
System.out.println(s); //打印18-5-8 上午10:41 当前时间默认格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T' HH:mm:ss.SSSZ");
//打印出2018-05-08T10:49:04.732+0800
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss.SSSZ");
//打印出2018年05月08日10:49:04.732+0800
SimpleDateFormat sdf = new SimpleDateFormat("MM月");
//打印出05月
String s2 = sdf.format(date);
System.out.println(s2);
只取月份
Calendar c = Calendar.getInstance(); //打印出4,只取月份
System.out.println(c.get(Calendar.MONTH));
//打印指定的日期,2014-07-28:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
date = sdf.parse("2014-07-28");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(sdf.format(date));
//这个日期只取月份
c.setTime(date);
TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo"); 亚洲日本东京
c.setTimeZone(tz); //时区,抽象类,没法实例化
System.out.println(c.get(Calendar.MONTH)); //日期只取月份
String[] ss = TimeZone.getAvailableIDs(); //获取全国时区
for(int i = 0;i<ss.length;i++){
System.out.println(ss[i]);
}
}
}