2012-11-30 2 views
0

나는 간단한 텍스트 편집기를 만들고, 또한 백분율을 더한다. 나는 모든 것 (내 모바일 및 에뮬레이터에서) 괜찮 았지만 다른 장치에서 충돌이 발생한다고 생각합니다.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

void 타입에 대해 확실합니까? 그것은 두 배가 될 수 있습니까, 아니면 다른 사람들이 돌아올 수 있습니까? – hakiko

+0

에뮬레이터에서 충돌이 발생하지 않음 (친구의 모바일에서 충돌) –

답변

1

당신이 상태로, 당신은 b는 결코 0이 될 것하지 않습니다 확신,, 왜 당신은이 개 부분의 숫자가 두 배로 얻을 수있는 다른 방법을 시도하지? 오류가 발생하기 쉽고 효율성이 높아 보이는 것 같습니다.

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

이 정보가 도움이되기를 바랍니다. 여전히 충돌이 발생하면이 코드 스 니펫에없는 것으로 확신합니다.

+0

완벽한! 완벽하게 실행됩니다! 감사!!! –

관련 문제