double d = (double) weiguidesc.length() / 18;//文本长度除以每行字符长度int okcprogress = (int) (Math.floor(d))+1;//除数取整,也就是行数
float ab = 15f/4f;
int ac = (int)ab;
Log.i("lgq","......ac==="+ac+"........ab==="+ab);
结果:
I/lgq: ......ac===3........ab===3.75
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
double ab = 16f/3f;
int ac = (int)ab;
Log.i("lgq","......ac==="+ac+"........ab==="+ab);
结果:
I/lgq: ......ac===5........ab===5.333333492279053
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
float ab = 16f/3f;
int ac = (int)ab;
Log.i("lgq","......ac==="+ac+"........ab==="+ab);
结果:
I/lgq: ......ac===5........ab===5.3333335
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
double ab = 16/3;
int ac = (int)ab;
Log.i("lgq","......ac==="+ac+"........ab==="+ab);
结果:
I/lgq: ......ac===5........ab===5.0
-
舍掉小数取整:Math.floor(3.5)=3
-
四舍五入取整:Math.rint(3.5)=4
-
进位取整:Math.ceil(3.1)=4
-
取绝对值:Math.abs(-3.5)=3.5
-
取余数:A%B = 余数
float cc= round(23.028985f,3);Log.i("lgq","cc=================="+cc);
结果:I/lgq: cc==================23.029
/*** 四舍五入到小数点后scale位* @param v* @param scale* @return*/
public static float round(float v, int scale)
{if (scale < 0)throw new IllegalArgumentException("The scale must be a positive integer or zero");BigDecimal bgNum1 = new BigDecimal(Float.toString(v));BigDecimal bgNum2 = new BigDecimal("1");return bgNum1.divide(bgNum2, scale, BigDecimal.ROUND_HALF_UP).floatValue();// return b.setScale(scale, BigDecimal.ROUND_HALF_UP).floatValue();
}
除法
public static double div(double v1, double v2, int scale) {if (scale < 0) {throw new IllegalArgumentException("The scale must be a positive integer or zero");}BigDecimal b1 = new BigDecimal(Double.toString(v1));BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue(); }