Я думаю, что это BRAZILIAN РЕАЛЬНЫЙ ВАЛЮТНЫЙ Формат. Вы должны вызвать этот метод с вашей ценой в значение float, и этот метод возвращает вашу строку в ваш формат. Например, если мы пройдем 123456789
, тогда он вернется 123,456,789.00
.
//Convert Price to Your Price Format
+(NSString*)convertFormat:(float)value{
NSString * convertedString = [NSString stringWithFormat:@"%.2f", value];
NSString * leftPart;
NSString * rightPart;
if (([convertedString rangeOfString:@"."].location != NSNotFound)) {
rightPart = [[convertedString componentsSeparatedByString:@"."] objectAtIndex:1];
leftPart = [[convertedString componentsSeparatedByString:@"."] objectAtIndex:0];
}
//NSLog(@"%d",[leftPart length]);
NSMutableString *mu = [NSMutableString stringWithString:leftPart];
if ([mu length] > 3) {
[mu insertString:@"." atIndex:[mu length] - 3];
//NSLog(@"String is %@ and length is %d", mu, [mu length]);
}
for (int i=7; i<[mu length]; i=i+4) {
[mu insertString:@"." atIndex:[mu length] - i];
//NSLog(@"%d",mu.length);
}
convertedString = [[mu stringByAppendingString:@","] stringByAppendingString:rightPart];
return convertedString;
}
Для получения дополнительной информации см. Это blog.
Надеюсь, это то, что вы ищете. Меня волнует любая забота.
Какой стиль валюты это? 36.381,129 – dstudeba
Возможно, это? Http: //stackoverflow.com/questions/16123119/nsnumberformatter-with-comma-decimal-separator – tidwall
Если вы хотите получить такой результат, почему ваш номер не определяется как 'double number = 36381.129; '? – rmaddy