2012-11-30 53 views
0

我构建了一个简单的文本编辑器,我还添加了阅读的百分比。我认为一切都好(在我的手机和3个模拟器上),但在其他设备上崩溃。2个数字的百分比

我不明白是什么问题。任何帮助?

public void perc(){ 
    float perc3; 
    perc3=((a)*100)/(float)b; 
    NumberFormat numberFormat = DecimalFormat.getInstance(); 
    numberFormat.setMaximumFractionDigits(2); 
    String formattedText = numberFormat.format(perc3); 
    perc= new Double(formattedText); 
} 
+0

请发布异常的logcat堆栈跟踪。 – Simon

+0

你确定无效类型吗?它可以是双重的,浮动的或任何其他的回报? – hakiko

+0

模拟器不会崩溃(崩溃在我的朋友的手机上) –

回答

1

如果您所说的,您确定b永远不会是0,那么为什么不尝试一种不同的方法来获得2个小数位数?它似乎不太容易出错和更高效:

public double perc() 
{ 
    long perc3 = Math.round(a*10000/(double)b); 
    return perc3/(double) 100; 
} 

我希望这有助于。如果你仍然崩溃,我很确定它不在这段代码中。

+0

完美!完美运行!谢谢!!! –