1
안녕하십니까. 사용자가 응용 프로그램에서 입력 한 10 진수 형식을 지정해야합니다.형식으로 NSNumberFormatter를 사용하여 십진수를 입력하십시오.
100. = 100
90.00 = 90
90.1 = 90.1
90.22 = 90.22
90.227 = 90.23
NSNumberFormatter를 사용하여 어떻게해야합니까?
내가 내가 코드를 consize해야 할 다른 조건if ([cell.textField.text rangeOfString:@"."].location != NSNotFound)
{
NSString *strAfterDecimal = [cell.textField.text componentsSeparatedByString:@"."].lastObject;
NSInteger count = [strAfterDecimal length];
if(count == 0)
{
customField.value = [cell.textField.text
stringByReplacingOccurrencesOfString:@"." withString:@""];
}
else if(count == 1 || count == 2)
{
if([strAfterDecimal integerValue] > 0)
{
customField.value = cell.textField.text;
}
else
{
customField.value = [cell.textField.text componentsSeparatedByString:@"."].firstObject;
}
}
else if(count > 2)
{
if([strAfterDecimal integerValue] > 0)
{
customField.value = [NSString stringWithFormat:@"%0.2f",[cell.textField.text floatValue]];
}
else
{
customField.value = [cell.textField.text componentsSeparatedByString:@"."].firstObject;
}
}
}
경우이 사용자 정의를 사용하여 동일한 달성했다. 클라이언트에 따라 내가 추가 코드를 넣어 캔트 애플에 의해 주어진 기본 기능 그것은
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 2;
NSNumber *number = [formatter numberFromString:cell.textField.text];
NSString *numberString = [formatter stringFromNumber:number];
if (numberString == nil) numberString = @"0";
NSLog(@"%@", numberString);
스위프트 버전 매우 간단합니다
"90.00 = 90"입니까? – sketchyTech
@sketchyTech 그렇습니다 – vadian
고마워요 @vadian. 그것은 내 하루를 구했다. 내 요구 사항에 따라 작동합니다. 다시 한번 감사드립니다. :) –