我正在开发一个应用程序,我将1个变量int通过一个活动字符串传递给下一个活动,在下一个活动中,我将该字符串再次返回并返回一个int,然后我计算百分比并显示和textview ,过去的变量和大约1所以我检查它是否为空,然后我计算百分比ex:((3/45)* 100)并在文本视图中显示,再次查看字符串...但无论如何我犯了一个错误,可能是什么?
Bundle bundle = getIntent (). GetExtras ();
String aprox1 = bundle.getString ("aprox1");
if (aprox1! = null)
try {
num3 = Integer.parseInt (aprox1);
result = Math.round ((num3 / 45) * 100);
TextView counter2 = (TextView) findViewById(R.id.textView16);
String abcString2 = Integer.toString (result);
counter2.setText (abcString2);
}
catch (NumberFormatException e) {
}
答案 0 :(得分:1)
你需要在if语句之后加{}:
if (aprox1! = null) {
try {
num3 = Integer.parseInt (aprox1);
result = Math.round ((num3 / 45) * 100);
TextView counter2 = (TextView) findViewById(R.id.textView16);
String abcString2 = Integer.toString (result);
counter2.setText (abcString2);
}
catch (NumberFormatException e) {
}
}
还值得注意的是,因为当你将它除以45时,num3是一个整数,你将获得整数而不是百分比。
要解决此问题,请在计算除法之前将num3设为double或将num3或45转换为double。
例如,一个简单的修复方法包括将第4行更改为以下内容:
result = Math.round ((num3 / 45.0) * 100);