在这种情况下,我的“f”值总是从 88 到 108,我需要将该值映射到从 0 到 200 的搜索栏范围
我在这里展示的表达式在所有值上都很好,除了 if f=88.1,88.2,89.1;89.2....等等
String value = b.getText().toString();
float f= Float.parseFloat(value);
int progress = (int) (f-(float)88.0)*10;
s.setProgress( progress);
我在搜索栏中设置了我的进度,我像这样取回了我的 f 值并设置了一个文本视图
float channel = (float) ((float)88.0 + ((float)progress/10));
String mytext=Float.toString(channel);
t.setText(mytext);
但是 textview 显示的值比我原来的值少 0.1;如显示 f=88.1 为 88.2,f=88.0 为 88.1 等等......
有人可以帮我解决这个问题吗?
我得到了解决方案,并将其标记为正确,但是谁能告诉我为什么会发生这种奇怪的事情?