이중 변수에서 UITextfield 텍스트 값을 설정할 때 과학 표기법을 방지하려면 어떻게해야합니까? "% f"로 포맷을 시도했지만 -0.00000으로 표시합니다. "% g"을 사용하여 서식을 지정하면 지수가 표시됩니다.어떻게 객관적인 C에서 두 배로 과학 표기법을 방지하기 위해?
0
A
답변
3
의미 float는 0 자릿수입니다. 당신이 여전히 정밀도를 필요로 보인다으로
편집
, 당신은 훨씬 더 융통성있는 NSNumberFormatter
인스턴스를 사용해야합니다.
당신은이 -setMinimumFractionDigits:
및 -setMaximumFractionDigits:
, 그래서 제로 0
될 것입니다 사용할 수 있지만, 당신은 여전히 정밀이 할 수 있습니다 : 당신은 형식 문자열에 소수 자릿수의 수를 제한 할 수 있습니다
NSNumberFormatter * fmt;
fmt = [ [ NSNumberFormatter new ] autorelease ];
[ fmt setMinimumFractionDigits: 0 ];
[ fmt setMaximumFractionDigits: 2 ];
[ fmt setMinimumIntegerDigits: 1 ];
NSLog(@"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: (float)0 ] ]);
NSLog(@"%@", [ fmt stringFromNumber: [ NSNumber numberWithFloat: (float)0.42 ] ]);
0
:
를%.0f
정수로 반올림합니다,
%.1f
은 십진수 1로 반올림하고, -0을 -0
또는 -0.0
으로 인쇄합니다.
+0
필자는 여전히 십진법 정밀도를 유지해야하지만, 오른쪽에 불필요한 0이, 값이 0이면 '-'가, 값이 0이면 깨끗하게 정리해야합니다. 분수가없는 경우 – amirfl
관련 문제
- 1. 과학 표기법을 XSLT (FO)
- 2. 십진법 표기법으로 과학 표기법을 출력하십시오.
- 3. Decimal.Parse()는 과학 표기법을 지원합니까?
- 4. 객관적인 C 계산기 과학적 표기법을 표시합니다
- 5. 구조체에 과학 표기법을 인쇄하지 않는 방법
- 6. Perl에서 과학 표기법과 십진법 표기법을 어떻게 변환 할 수 있습니까?
- 7. 과학 표기법을 C++에서 십진수로 변환
- 8. 과학 표기법을 여러 필드에서 십진수로 변환
- 9. 어떻게 자식 수신을 방지하기 위해
- 10. 객관적인 c에서 js를 실행하려면
- 11. 객관적인 C에서 [release] 사용
- 12. 객관적인 C에서 다차원 배열
- 13. 객관적인 c에서 일치하는 접두사
- 14. 어떻게 PHP에서 빠른 페이지 요청을 방지하기 위해?
- 15. 객관적인 C에서 변경 가능한 문자열에 어떻게 추가합니까?
- 16. arrayList에로드가 두 배로 늘어납니다.
- 17. 이진수를 두 배로
- 18. 객관적인 C에서 __OBJC__
- 19. 객관적인 C에서 unhexlify
- 20. 객관적인 C에서 **의 구문
- 21. C++에서 변수에 과학 표기법을 사용하는 방법은 무엇입니까?
- 22. 어떻게 혼합되는 요소를 방지하기 위해/하드웨어 CSS에서
- 23. 어떻게 팝업에서 일식에서 Junit을 방지하기 위해?
- 24. 메모리 예외를 방지하기 위해 트랜잭션을 어떻게 사용해야합니까?
- 25. 객관적인 C에서 날짜를 비교하는 방법
- 26. 옵션 메뉴가 두 배로 나타납니다.
- 27. 객관적인 C에서 변수는 어디에서 초기화해야합니까?
- 28. 객관적인 C에서 sqlite3 멀티 스레딩
- 29. 객관적인 C에서 카운터를 사용하는 방법?
- 30. 사용자를 방지하기 위해
여전히 소수점 이하 자릿수를 표시해야합니다. 분수를 잘라도이 문제는 해결되지 않습니다. – amirfl
편집을 참조하십시오 ... – Macmade
감사합니다, NSNumberFormatter를 약간 다른 방식으로 사용했습니다 (다시 말하면, 정밀도를 제한하려고하지는 않습니다).
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; myTextField.text = [formatter stringFromNumber:[NSNumber numberWithDouble:self.myDoubleValue]];
이제 역 변환을 수행하는 방법을 찾으려고합니다. 2,000,000.45와 같은 문자열에서 두 배로. (서식을 제거하기 위해 직접 메서드를 만들어야합니까? 아니면 코코아에 기존 메서드가 있습니까?) 도움을 주셔서 감사합니다. – amirfl