Как я могу обработать MeasurementFormatter, используя milesPerHour UnitType?

Мне нужно отобразить целое число из значений км / ч, используя MeasurementFormatter на Objective-C.

Есть ли образец?

NSMeasurementFormatter *formatter = [[NSMeasurementFormatter alloc] init];
formatter.unitStyle = MKDistanceFormatterUnitStyleAbbreviated;

1 ответ

Решение

Вот пример

    NSMeasurementFormatter *formatter = [[NSMeasurementFormatter alloc] init];
    formatter.unitStyle = NSFormattingUnitStyleMedium;
    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];

    // format 100 km/h

    formatter.unitOptions = NSMeasurementFormatterUnitOptionsProvidedUnit;
    NSUnitSpeed *speed = [NSUnitSpeed kilometersPerHour];
    NSString *speedString = [formatter stringFromMeasurement:[[NSMeasurement alloc] initWithDoubleValue:100.0 unit:speed]];

    NSLog(@"kilometers %@", speedString);

    // format 100 mph

    formatter.unitOptions = NSMeasurementFormatterUnitOptionsProvidedUnit;
    speed = [NSUnitSpeed milesPerHour];
    speedString = [formatter stringFromMeasurement:[[NSMeasurement alloc] initWithDoubleValue:100.0 unit:speed]];

    NSLog(@"miles %@", speedString);

    // convert 100 km/h to 62.137 mph for en_US locale

    formatter.unitOptions = NSMeasurementFormatterUnitOptionsNaturalScale;
    speed = [NSUnitSpeed kilometersPerHour];
    speedString = [formatter stringFromMeasurement:[[NSMeasurement alloc] initWithDoubleValue:100.0 unit:speed]];

    NSLog(@"miles to kilometers %@", speedString);
Другие вопросы по тегам