Wie man das Dezimaltrennzeichen?
Möchte ich, um die Dezimaltrennzeichen auf das Gerät. Bis jetzt war ich mit dieser Methode:
NSString *decimalSymbol;
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterDecimalStyle];
[f setMinimumFractionDigits:2];
[f setMaximumFractionDigits:2];
[f setGroupingSeparator:@" "];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMinimumFractionDigits:2];
[formatter setMaximumFractionDigits:2];
[formatter setGroupingSeparator:@" "];
NSRange range = {1,1};
decimalSymbol = [[formatter stringFromNumber:[f numberFromString:[@"" stringByAppendingFormat:@"%.02f", 1.0f]]] substringWithRange:range];
[formatter release];
[f release];
War schön bis jetzt, wenn ich die Prüfung auf einem anderen Gerät (4.3) - null
zurückgegeben.
Was könnte das problem sein?
Gibt es einen anderen Weg ermittelt werden, um das dezimal-symbol?
SPÄTER BEARBEITEN:
Ich kann verwenden:
decimalSymbol = [[@"" stringByAppendingFormat:@"%.02f", 1.0f] substringWithRange:range];
aber warum das andere Weg ist es doe nicht auf diesem Gerät?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist der beste Weg, Holen Sie das Dezimaltrennzeichen vom Gebietsschema ohne init alle
NSNumberFormatter
Objekt.Wie diese:
[NSLocale currentLocale].decimalSeparator;
Swift 4 version:
Swift 4
Können Sie
Locale.current.decimalSeparator
oderNSLocale.current.decimalSeparator
.und
NSLocale Apple doc
decimalSeparator
Gibt einen string mit den Zeichen, das der Empfänger verwendet zum darstellen von dezimal-Trennzeichen.
- (NSString *)decimalSeparator
Beispiel:
decimalSymbol = [f decimalSeparator];