Android 进度条算法

// TODO total总长度,current下载长度

double i = current / (double) total * 100;

int progress = (int) Math.ceil(i);

pdu.setTvProgress(progress + "/100%");

原文:https://blog.csdn.net/menglele1314/article/details/50748731



1.Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数,看下面几个例子就明白。

小数点后第一位<5

正数:Math.round(11.46)=11

负数:Math.round(-11.46)=-11


小数点后第一位>5

正数:Math.round(11.68)=12

负数:Math.round(-11.68)=-12


小数点后第一位=5

正数:Math.round(11.5)=12

负数:Math.round(-11.5)=-11

总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加。


2.Math.ceil():根据“ceil”的字面意思“天花板”去理解;

例如:

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12

Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11


3.Math.floor():根据“floor”的字面意思“地板”去理解;

例如:

Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=11

Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-12

你可能感兴趣的:(Android 进度条算法)