Java- 非零 Int 除以 10 在 Float 中等于 0.0?

标签 java android floating-point

<分区>

我有一个音量控制 slider 来控制 Android 中音频文件播放的音量。

vSlider=(SeekBar) findViewById(R.id.seekBar2);
        vSlider.setMax(10);
        if(mediaPlayer.isPlaying()){
            isPlaying=true;
            try {
                currentPosition = mediaPlayer
                        .getCurrentPosition();
                double seconds=currentPosition/1000;
                int time= (int) Math.round(seconds);
                String timeS=Integer.toString(time);
                timer.setText(timeS+"s");
                Log.d("position",timeS);
                fSlider.setProgress(currentPosition);
            }  catch (Exception e) {

            }
            vSlider.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){

                @Override
                public void onProgressChanged(SeekBar seekBar, int progress,
                        boolean fromUser) {
                    float volume=progress/10;
                    Log.d("Progress", String.valueOf(progress));
                    Log.d("Volume",String.valueOf(volume));
                    mediaPlayer.setVolume(volume, volume);

                }
                @Override
                public void onStartTrackingTouch(SeekBar seekBar) { }
                @Override
                public void onStopTrackingTouch(SeekBar seekBar) { }                        
            });

正在正确检测 slider 进度的 int 值,但 float 体积始终变为 0.0。我在这里做错了什么?

最佳答案

float volume=progress/10;

对两个 int 的操作给出 int 的结果。所以将结果转换为

float volume=(float)progress/10;

float volume=progress/10.0f;

参见 casting hierarchy有显式和隐式转换

关于Java- 非零 Int 除以 10 在 Float 中等于 0.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17940528/

相关文章:

java - 根据其他 xml 中的值目录验证 XML

Android 在应用程序内部模拟 applicationcontext

python - Python为什么要四舍五入?

java - C++ 中的 "derived"与 Java 中的 "extended"是一回事吗?

java - Hibernate 不将实体持久保存到 MySql - Wildfly 10

android - 使用 NullPointerEx 中的查询结果将图像加载到 Web View 中

android - 根据可用性在 GPS 和网络提供商之间切换

python - 创建具有固定数量元素(长度)的范围

c++ - 绘制真实坐标

java - 将 2 个 slider 移动到一起