365网球投注

[Trans]Android为什么我需要在dp2px或px2dp表达式中添加0.5f?

字号+ 作者:365bet体育在线怎么样 来源:365bet网址是多少 2019-08-19 09:56

[Trans]Android为什么我需要在dp2px或px2dp表达式中添加0.5f?

Publicstaticintpx2dip(Contextcontext,floatpxValue){
Finalfloatscale =上下文。
getResources()。
getDisplayMetrics()。
密度;
返回(int)(pxValue / scale + 0。
图5f);
Publicstaticintdip2px(Contextcontext,floatdipValue){
Finalfloatscale =上下文。
getResources()。
getDisplayMetrics()。
密度;
返回(int)(dipValue * scale + 0。
图5f);
这两个表达式在线很多,为什么我最后需要添加0
5F?
根据常规推理,它应该是dip = pxValue / scale和px = dipValue * scale。
实际上,需要推断出确切的值,其后的原因是0。
因为5f是一个浮点数,所以你只需要非常准确,通常在程序中使用int类型就足够了。这是一个类型转换准确性问题,学生熟悉Java Special应该知道的效果
4浮动型。
1和4
将九个forts转换为int后,int的精度变为4。如果要舍入,请为它们添加0。
5f,这种转换的结果是:
4)
4 + 0。
5 = 4。
9转换为int或4,4。
5 + 0。
5 = 5。
由于0是5的int并且简单地舍入,因此可以相对准确地计算该值。


相关文章