2012-05-10 3 views
0

사용중인 웹 서비스에서 JSON 문자열을 다시 가져 오는 중, 항목 중 하나가 다음과 같이 서식이 지정된 float입니다. "1.2". 하지만 실제로 시간 번호처럼 보이게 만들고 싶습니다. 이렇게 : "01:20".사용자 정의 형식을 사용하여 float를 NSString으로 변환 하시겠습니까? ("xx : yy")

가장 쉬운 방법은 무엇입니까?

나는 2 개

timeValue = [NSString stringWithFormat:@"%.2f", timeValue]; 
NSArray *tmpArr = [timeValue componentsSeparatedByString:@"."]; 
NSString *tmpFirst = (NSString *)[tmpArr objectAtIndex:0]; 
NSString *tmpSecond = (NSString *)[tmpArr objectAtIndex:0]; 

그러나 나는 그것을 변환 할 때 어떻게 든, 그것은 나에게 음수

NSLog를 (반환로 분할 한 후 문자열로 플로트를 변환에 대해 생각 @ " timeValue : % @ ", timeValue);

TIMEVALUE : -1.99

+0

"*. ":"와 함께? 게시물에있는 물건이 기록 된 시간 값과 관련이 있습니다. 또한 * NSString을 float ("f")을 기대하는 형식으로 전달하면 이상한 결과가 나타날 수 있습니다 *. * one * issue에 초점을 맞추십시오. 문제는 제목에 게시됩니다. –

+0

그러면 "1 : 2"로 표시되고, "01:20"으로 표시하려면 2 개의 추가 0을 추가해야합니다. 반환 된 값은 시간의 양이지만 부동 소수점 형식으로 배열되어 있습니다. –

+0

아, 참으로. 어쨌든 댓글의 두 번째 부분에 유의하십시오. 내가 더 잘 알지 못한다면 입력 문자열을 나타내는'float '을 얻고,'format ("% 02d : % 02d", (int) f, (int) (f * 100))''f '는 이전에 획득 한'float '값입니다. 게시 된 코드에서'timeValue'는'NSString' (또는 "assignable") 타입이고, 이것은'float'이 아닙니다. –

답변

0

나는 문제가이 라인에 생각합니다.

timeValue = [NSString stringWithFormat:@"%.2f", timeValue]; 

나는 당신이 두 번 같은 변수를 사용하는 이유 TIMEVALUE가 입력 한 다음 NSString하지 않을 경우의 생각합니다.
크기 :

timeValueString = [NSString stringWithFormat:@"%.2f", timeValueFloat]; 
+0

timeValue는 함수가 전달한 변수이므로 해당 값을 다시 사용하십시오. 나는 tmpValue = [timeValue stringValue];를 사용할 수 있음을 알았습니다.이 게임은 문자열 값입니다. –

+0

하지만 당신은 문자열이 아닌 float를 기대하는 형식 지정자 % f를 사용하고 있습니다 ... –

관련 문제