数学计算方法&类型转换&时间日期
2018-10-11 本文已影响2人
瑟闻风倾
1.数学方法
Math.IEEEremainder 求余
Math.max 求两数中最大
Math.min 求两数中最小
Math.sqrt 求开方
Math.abs(x) 求绝对值
Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常
Math.sqrt(x):平方根
Math.pow(x,y):x的y次方
Math.exp 求e的任意次方
Math.log10 以10为底的对数
Math.log 自然对数
Math.rint 求距离某数最近的整数(可能比某数大,也可能比它小)
Math.round 同上,返回int型或者long型(上一个函数返回double型)
Math.random 返回0,1之间的一个随机数
2.类型转换
- string转为int:
workticketCount=Integer.parseInt(project.getWorkticketCount()); - int转为float:
actualTotalTime=(float)(currentProcedure.getActualTotalTime()); - string转为float:
float a = Float.parseFloat(name);
3.各种类型取值
double类型: 2.55
float类型: 2.5
int类型: 2
long类型: 255829188
4.示例
private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss:SSS");
String[] timing1 =simpleDateFormat.format(new Date()).split(":");
int millisecond1 =Integer.parseInt(timing1[3]);
Log.v("时间_1",millisecond1+"");
String[] timing2 =simpleDateFormat.format(new Date()).split(":");
int millisecond2 =Integer.parseInt(timing2[3]);
Log.v("时间_2",millisecond2+"");
int millisecond = Math.abs(millisecond2-millisecond1);
Log.v("时间_3",millisecond+"");
Toast.makeText(activity,"时间差为:"+ millisecond , Toast.LENGTH_SHORT).show();
5.获取系统时间
private static final SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy年MM月dd日 EEEE HH:mm:ss");
String maintainTime=dateTimeFormat.format(new Date());//当前系统时间
Log.v("time_1", maintainTime+"");
Log.v("time_2", SystemClock.currentThreadTimeMillis()+"");
01-16 17:27:21.137 10559-10559/com.jack.workticket V/time_1:2018年10月11日 星期四 15:32:53
01-16 17:27:44.155 10559-10559/com.jack.workticket V/time_2: 7375