2013-02-22 4 views
0

계산기를 만들고 불필요한 0을 표시하는 데 문제가 있습니다 (표시하지 않고 원하는 것입니다).불필요한 "0"입력 표시

이제는 다음과 같은 예가 있습니다.

[빈 계산기 화면]

사용자 안타 "4"

[4]

사용자 히트 [계산기 화면을 나타냅니다] "."

[4]

사용자

"0"

[4]

사용자가 "0"

[4]

사용자가 "5"안타 안타 안타

[4.005]

대신, 나는 그것을 할 수 있도록하려면 다음

[빈 계산기 화면]

사용자가

[4]

사용자 안타 "4"명중 "."

[4]

사용자

"0"

[4.0]

사용자가 "0"

[4.00]

사용자가 "5"안타 안타 안타

[4.005]

아래 그림과 같이

나는 ...

formatter = [[NSNumberFormatter alloc] init]; 
    formatter.numberStyle = NSNumberFormatterDecimalStyle; 
    formatter.maximumIntegerDigits = 13; 
    formatter.minimumFractionDigits = 0; 
    formatter.maximumFractionDigits = 13; 
    formatter.maximumSignificantDigits = 13; 
    formatter.usesGroupingSeparator = YES; 
    formatter.groupingSeparator = @","; 
    formatter.decimalSeparator = @"."; 
    formatter.generatesDecimalNumbers = true; 

내가 사용

가 내 번호로 전화를하려면 다음 ...

buttonScreen.text = [formatter stringFromNumber: 
[NSNumber numberWithDouble:currentNumber]] 

감사를 숫자 포맷을 사용!

+0

차이점은 무엇입니까? [4.005] 대 [4.005] –

+0

입력 할 때 화면에서 4에서 4.005로 점프하면 제대로 보이지 않습니다. 특히 0이 더 많은 경우 (4에서 4.000000008) 그것은 열쇠입니다) –

답변

1

4는 4, 4.0, 4.00 등의 정확한 부동 소수점 표현이므로 0을 제공하지 않습니다. 사용자 입력을 NSString *에 저장 한 다음 필요할 때 NSNumber으로 변환하는 것이 좋습니다. 실제 수학을해라.

0

"="또는 조작 키를 누르기 전에 입력을 평가하지 않으면이 문제를 해결할 수 있습니다.

다른 키를 입력했기 때문에 문자열을 추가하고 항목이 완성되면 문자열을 올바른 번호로 변환합니다.