data formatting

30
&CVC (QTOCVVKPI )WKFG &CVC /CPCIGOGPV 5VTKPIU 6GZV (QPVU

Upload: straf238

Post on 26-Mar-2015

207 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Data Formatting
Page 2: Data Formatting
Page 3: Data Formatting
Page 4: Data Formatting
Page 5: Data Formatting

NSDateFormatter NSNumberFormatter

Page 6: Data Formatting
Page 7: Data Formatting

NSFormatterNSNumberFormatter NSDateFormatter

Page 8: Data Formatting
Page 9: Data Formatting

NSNumberFormatter

■ NSNumberFormatter

■ NSNumberFormatter

NSNumberFormatter

NSNumberFormatter

NSNumberFormattersetDefaultFormatterBehavior: NSNumberFormatterBehavior10_4

setFormatterBehavior:

NSMakeNumberFormatters10_4 YES trueNSNumberFormatter

init

Page 10: Data Formatting

NSDecimalNumberNSNumber

NSDecimalNumber setGeneratesDecimalNumbers: YESNSNumber

NSNumberFormatter

NSNumberFormatterNoStyle NSNumberFormatterDecimalStyleNSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyleNSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle

NSFormattergetObjectValue:forString:errorDescription: NSNumberFormatter

stringFromNumber: numberFromString:getObjectValue:forString:range:error:

NSNumberFormatterNSString

getObjectValue:forString:range:error:

NSErrorgetObjectValue:forString:errorDescription:

NSFormatter

Page 11: Data Formatting

getObjectValue:forString:errorDescription:YES

getObjectValue:forString:range:error:

NSFormatter NSCellNSFormatter getObjectValue:forString:errorDescription:

getObjectValue:forString:range:error:

'

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];[numberFormatter setFormat:@"0.00%;0.00%;-0.00%"];NSNumber *four = [NSNumber numberWithFloat:4.0];NSLog(@"%@", [numberFormatter stringFromNumber:four]);// output: "400.00%"

NSNumberFormatter

NSNumberFormatterPercentStyle

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];NSNumber *four = [NSNumber numberWithFloat:4.0];

Page 12: Data Formatting

NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];[numberFormatter setLocale:usLocale];NSLog(@"en_US: %@", [numberFormatter stringFromNumber:four]);// output: "en_US: 400%"

NSLocale *faLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"fa_IR"];[numberFormatter setLocale:faLocale];NSLog(@"fa_IR: %@", [numberFormatter stringFromNumber:four]);// output: "fa_IR: "

NSNumberFormatter setMaximumFractionDigits:

Page 13: Data Formatting

NSDateFormatter

■ NSDateFormatter

■ NSDateFormatter

NSDateFormatter

NSDateFormatter

NSDateFormattersetDefaultFormatterBehavior: NSDateFormatterBehavior10_4

setFormatterBehavior:

NSMakeDateFormatters10_4 YES trueNSDateFormatter

init

NSCalendarDateNSDate NSCalendarDatesetGeneratesCalendarDates: NSDate

Page 14: Data Formatting

NSDateFormatter

NSDateFormatterNoStyle NSDateFormatterShortStyle NSDateFormatterMediumStyleNSDateFormatterLongStyle NSDateFormatterFullStyle

// assume default behavior set for class using// [NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];[dateFormatter setTimeStyle:NSDateFormatterNoStyle];NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];NSString *formattedDateString = [dateFormatter stringFromDate:date];NSLog(@"formattedDateString for locale %@: %@", [[dateFormatter locale] localeIdentifier], formattedDateString);// Output: formattedDateString for locale en_US: Jan 2, 2001

NSFormattergetObjectValue:forString:errorDescription: NSDateFormatter

stringFromDate: dateFromString:getObjectValue:forString:range:error:

NSDateFormatterNSString

getObjectValue:forString:range:error:

NSErrorgetObjectValue:forString:errorDescription:

NSFormatter

Page 15: Data Formatting

getObjectValue:forString:errorDescription:YES

getObjectValue:forString:range:error:

NSFormatter NSCellNSFormatter getObjectValue:forString:errorDescription:

getObjectValue:forString:range:error:

NSDateFormatter allowsNaturalLanguage

'

NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];[inputFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];

NSDate *formatterDate = [inputFormatter dateFromString:@"1999-07-11 at 10:30"];

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];[outputFormatter setDateFormat:@"HH:mm 'on' EEEE MMMM d"];

NSString *newDateString = [outputFormatter stringFromDate:formatterDate];

NSLog(@"newDateString %@", newDateString);// For US English, the output is:// newDateString 10:30 on Sunday July 11

Page 16: Data Formatting
Page 17: Data Formatting

NSCell setFormatter:

NSNumberFormatter NSTextField setFormatter:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];[[textField cell] setFormatter:numberFormatter];

NSDateFormattercontactsForm

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];[dateFormatter setTimeStyle:NSDateFormatterNoStyle];[[contactsForm cells] makeObjectsPerformSelector:@selector(setFormatter:) withObject:dateFormatter]

objectValue

■ NSDecimalNumberNSNumber

■ NSCalendarDateNSDate

setStringValue

Page 18: Data Formatting

NSControl NSFormattergetObjectValue:forString:errorDescription:isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:

isPartialStringValid:newEditingString:errorDescription:control:didFailToFormatString:errorDescription:

control:didFailToValidatePartialString:errorDescription:

Page 19: Data Formatting

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] initWithDateFormat:@"%b %1d %Y" allowNaturalLanguage:NO];

10

strftime()"%b %d %Y" "Mar 15 1994"

"7/21/2003"

Page 20: Data Formatting

NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];

setFormat

// specify just positive format[numberFormatter setFormat:@"$#,##0.00"];

// specify positive and negative formats[numberFormatter setFormat:@"$#,##0.00;($#,##0.00)"];

// specify positive, zero, and negative formats[numberFormatter setFormat:@"$#,###.00;0.00;($#,##0.00)"];

setFormat: setPositiveFormat:setNegativeFormat:

textAttributesForPositiveValuessetTextAttributesForPositiveValues:textAttributesForNegativeValuessetTextAttributesForNegativeValues:attributedStringForZerosetAttributedStringForZero:attributedStringForNilsetAttributedStringForNil:attributedStringForNotANumbersetAttributedStringForNotANumber:

NSNumberFormatter *numberFormatter =[[[NSNumberFormatter alloc] init] autorelease];

Page 21: Data Formatting

NSMutableDictionary *newAttrs = [NSMutableDictionary dictionary];

[numberFormatter setFormat:@"$#,##0.00;($#,##0.00)"];[newAttrs setObject:[NSColor redColor] forKey:@"NSColor"];[numberFormatter setTextAttributesForNegativeValues:newAttrs];[[textField cell] setFormatter:numberFormatter];

, .

// use setFormat:numberFormatter.setFormat("#,###");

// use setHasThousandSeparators:numberFormatter.setHasThousandSeparators(true);

// use setThousandSeparator:numberFormatter.setThousandSeparator("_");

// use setFormat:[numberFormatter setFormat:@"#,###"];

// use setHasThousandSeparators:[numberFormatter setHasThousandSeparators:YES];

// use setThousandSeparator:[numberFormatter setThousandSeparator:@"_"];

setHasThousandSeparators no false

// use setFormat:numberFormatter.setFormat("0.00");

// use setDecimalSeparator:numberFormatter.setDecimalSeparator("-");

// use setFormat:[numberFormatter setFormat:@"0.00"];

// use setDecimalSeparator:[numberFormatter setDecimalSeparator:@"-"];

Page 22: Data Formatting

thousandSeparator decimalSeparator

setThousandSeparator: setDecimalSeparator:

strftime"%m/%d/%y" "01/02/01" "%1m/%1d/%Y"

"1/2/2001"

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] initWithDateFormat:@"%1m/%1d/%Y" allowNaturalLanguage:NO] autorelease];NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];NSString *formattedDateString = [dateFormatter stringFromDate:date];NSLog(@"formattedDateString: %@", formattedDateString);

// Output: formattedDateString: 1/2/2001

strftime()

'%'%%

%a

%A

%b

%B

%X %x%c

Page 23: Data Formatting

%d

%d strftime()%e

%F

%H

%I

%j

%m

%M

%p

%S

%w

strftime()%x

strftime()%X

%y

%Y

strftime()%Z

%z

Page 24: Data Formatting

@"9,990.00" 53.889,953.88

. ,

#@"$#,##0.00" 76329

$76,329.00@",0.00" @"#,#0.00"

@"#,##0.00"

_

$

1019.55

@"#,##0.00"

@"$#,##0.00"

@"___,__0.00"

Page 25: Data Formatting

■ @"positiveFormat"

@"$###,##0.00"

■ @"positiveFormat;negativeFormat"

@"###,##0.00;(###,##0.00)"

■ @"positiveFormat;zeroFormat;negativeFormat"

@"$###,###.00;0.00;($###,##0.00)"

"#,##0.00" "0" "0.00"

-

strftime"%m/%d/%y" "01/02/01" "%1m/%1d/%Y"

"1/2/2001"

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] initWithDateFormat:@"%1m/%1d/%Y" allowNaturalLanguage:NO] autorelease];NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];NSString *formattedDateString = [dateFormatter stringFromDate:date];NSLog(@"formattedDateString: %@", formattedDateString);

// Output: formattedDateString: 1/2/2001

strftime()

'%'%%

%a

Page 26: Data Formatting

%A

%b

%B

%X %x%c

%d

%d strftime()%e

%F

%H

%I

%j

%m

%M

%p

%S

%w

strftime()%x

strftime()%X

%y

%Y

strftime()%Z

%z

Page 27: Data Formatting

NSFormatter

NSFormatter

■ stringForObjectValue:

■ getObjectValue:forString:errorDescription:

■ attributedStringForObjectValue:withDefaultAttributes:

attributedStringForObjectValue:withDefaultAttributes:

attributedStringForObjectValue:withDefaultAttributes:stringForObjectValue:

editingStringForObjectValue:stringForObjectValue:

isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:isPartialStringValid:newEditingString:errorDescription:

Page 28: Data Formatting
Page 29: Data Formatting

%qx %qX

Page 30: Data Formatting