은 주석이 표시됩니다 :
/* 다음과 같은 편리한 메소드는 모든 초기 공백 문자 (whitespaceSet)를 생략하고 후행 문자를 무시합니다. NSScanner는 숫자의 "정확한"구문 분석을 위해 을 사용할 수 있습니다. */
Ergo, 쉼표는 후행 문자이기 때문에 자릅니다. 입력 한 문자열 (123,456,789)은 123.000 만 인쇄합니다. 그 이유는 모두 -floatValue
입니다.
//test
NSString *string = @"123,456,789";
float originalValue2 = [string floatValue];
NSLog(@"datacellR2C2 as text --> %@ <---\n",string); // this correctly shows the value in datacellR2C2
NSLog(@"originalValue2 = %f <--\n", originalValue2);
//log
2012-07-07 22:16:15.913 [5709:19d03] datacellR2C2 as text --> 123,456,789 <---
2012-07-07 22:16:15.916 [5709:19d03] originalValue2 = 123.000000 <--
그냥 간단한 +stringByReplacingOccurrencesOfString:withString:
로 제거하고, 그 후행 쉼표 제거 얻을 : 대신 배정 밀도를 사용하는 플로트가 짝수까지 해당 문자열을 반올림하는 방식으로
//test
NSString *string = @"123,456,789";
NSString *cleanString = [string stringByReplacingOccurrencesOfString:@"," withString:@""];
float originalValue2 = [cleanString floatValue];
NSLog(@"datacellR2C2 as text --> %@ <---\n",cleanString); // this correctly shows the value in datacellR2C2
NSLog(@"originalValue2 = %f <--\n", originalValue2);
//log
2012-07-07 22:20:20.737 [5887:19d03] datacellR2C2 as text --> 123456789 <---
2012-07-07 22:20:20.739 [5887:19d03] originalValue2 = 123456792.000000 <--
을 .
왜 float가 있습니까? originalValue2 = originalValue2 = ....;? originalValue2 = ..... 대신; – tarheel
게시 한 텍스트의 오타입니다. 나는 이중 검사를했고 원본에 없었습니다. 혼란이 생겨서 죄송합니다. 원본은 ... float originalValue2 = [datacellR2C2.text floatValue]; – K17