我读过here有关将dp单位转换为像素单位的信息。但我不明白0.5f。这个数字从哪里来?它的用途是什么?
// The gesture threshold expressed in dp
private static final float GESTURE_THRESHOLD_DP = 16.0f;
// Get the screen's density scale
final float scale = getResources().getDisplayMetrics().density;
// Convert the dps to pixels, based on density scale
mGestureThreshold = (int) (GESTURE_THRESHOLD_DP * scale + 0.5f);
// Use mGestureThreshold as a distance in pixels...
答案 0 :(得分:2)
将浮点数铸造为整数将使它们成为底数。 0.5f是四舍五入的数字:
x = (int) 3.9
print x // 3
x = (int) 3.9 + 0.5f
print x // 4
答案 1 :(得分:1)
它可以四舍五入。小数位数可以是小数(例如1.5)。这意味着乘积可能不是整数。加.5然后转换为int可以确保如果该数字大于两个整数之间的一半,则将其四舍五入;如果该数字小于一半的一半,则将其四舍五入。