2013-05-17 3 views
0

나는 텍스트 필드에서 값을 얻고 레이블 값으로 곱하는 평균을 계산하려고합니다.계산이 0 objective-c를 반환합니다.

int grade1 = [[self.Cw1Grade text]intValue]; 
    int grade1weight = self.weight1.text.intValue; 

    int a1grade = grade1/100; 
    int a1total = a1grade * grade1weight; 
    NSString *grade1total = [NSString stringWithFormat:@"%d", a1total]; 
    [self.averageLabel setText:grade1total]; 

도움 당신은 그런 정수를 나눌 수없는 시간

+1

이것은 초보자를위한 표준적인 실수입니다. 정수로 산술을 할 때 정수 결과를 얻습니다. 아래쪽이 잘립니다. 예를 들어, 96을 100으로 나누면 0이됩니다. 부동 소수점을 사용하십시오. –

+1

Objective-C는 C입니다. Learn C. 아, 게시하기 전에 검색을 수행하십시오. – matt

+0

참고 사항 [정수에서 부동 소수점 값 가져 오기] (http://stackoverflow.com/q/762953) –

답변

0

에 대한 감사 감사. 또는 잘, 당신이 할 수 있지만, 정수 구분 정수 (결과는 다음 정수로 내림됩니다)을 반환하기 때문에, 당신이 기대하는 결과를 얻을 수 없습니다

이 시도 :

float a1grade = (float)grade1/100; 

또는

float a1grade = grade1/100.0; 

피연산자 중 하나 이상이 부동 소수점이면 부동 소수점 나누기가 있습니다. 물론 그 경우에는 결과를 float 변수에 저장해야합니다.

또한 floats의 문자열 형식 지정자는 이고 %d이 아니라는 것을 잊지 마십시오.

관련 문제