2009-10-14 3 views
0

숫자 키보드를 표시하는 필드를 사용자에게 제시하고 숫자 만 입력 할 수있게하려면 - 십진수는 사용하지 않아야합니다. 필드가 통화 필드이기 때문에 숫자를 소수점 두 자리로 항상 표시하고 싶습니다. ATM에서 이러한 유형의 인터페이스를 보았을 것입니다.형식 정수 두 곳으로 십진수

[NSString stringWithFormat]을 사용하여 NSNumberFormatter 문서 및 일반 서식을 살펴 봤지만 이렇게하는 것이 바람직하지 않습니다. UIControlEventEditingChanged 이벤트에 대한 선택기를 사용하여 현장에서 청취하고 있습니다. 선택기에서 서식을 지정하려고합니다. [NSString stringWithFormat : @ "%. 2f", amount]를 사용하면 항상 양을 소수점의 왼쪽에 배치합니다. 세 번째 숫자가 입력 될 때까지 항상 분수 부분이되기를 원합니다. 따라서 사용자가 32를 입력하면 실제 금액은 .32입니다. 사용자가 173을 입력하면 값은 실제로 1.73입니다. 사용자가 10047을 입력하면 실제 값은 100.47이어야합니다.

제안 사항?

감사합니다.

+0

표시하기 전에 100으로 나누지 않는 이유가 있습니까? – paulthenerd

+0

나는 끔찍한 머리가 차고 오늘은 똑바로 생각하지 않는다는 것을 제외하고는 아무런 이유가 없습니다. ;-) 감사. –

답변

2

달러 대신 센트로 입력하는 금액을 처리하십시오. 포맷하기 전에 100으로 나눕니다.

+0

이제 분명합니다. 나는 오늘 침대에 있어야했다고 생각합니다. 머리 감기가 빨아. ;-) 답변 해주셔서 감사합니다. –

+2

부동 소수점을 사용하지 않고 int로 유지합니다. [NSString stringWithFormat : @ "% d. % 02d", amount/100, amount % 100] – progrmr

관련 문제