Kotlin之Int转换成Float的坑

2018-07-05  本文已影响30人  南娇

优于别人,并不高贵。真正的高贵是优于过去的自己

在java代码中像这样打印出来的FloatC等于0.99,但是在Kotlin中打印出来的是0,因为IntA/IntB等于0.99<1所以等于零

 fun IntToFloat() {
    var IntA: Int = 99
    var IntB: Int = 100
    var FloatC: Float
    FloatC = (IntA / IntB).toFloat()
    Log.e("TAG", "flaogt---->$FloatC")
}

要想不等于零要这样写,是不是很蒙蔽,很不适应

fun IntToFloat() {
    var IntA: Float = 99f
    var IntB: Float = 100f
    var FloatC: Float
    FloatC = IntA / IntB
    Log.e("TAG", "flaogt---->$FloatC")
}

Kotlin之动画监听
java中的动画监听

ValueAnimator animator = ObjectAnimator.ofFloat(0, 100);
                animator.setDuration(500);
                //插值器
                animator.setInterpolator(new DecelerateInterpolator());
                animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                    @Override
                    public void onAnimationUpdate(ValueAnimator animation) {
                        float number = (float) animation.getAnimatedValue();
          
                    }
                });
                animator.start();

Kotlin中的动画监听

var animator: ValueAnimator = ObjectAnimator.ofFloat(start.toFloat(), end.toFloat())
            animator.duration = 500
            animator.setInterpolator(DecelerateInterpolator())
            animator.addUpdateListener {
                var value: Float = it.animatedValue as Float

            }
            animator.start();

主要是 animator.addUpdateListener的写法不一样

上一篇 下一篇

猜你喜欢

热点阅读