mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-11 16:50:42 +00:00
Fixed decimal separator behavior in NSNumberFormatter... NSLocale tests requiring NSNumberFormatter should all work as expected, now.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31879 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c4a5305640
commit
8111e270df
3 changed files with 45 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2011-01-11 Stefan Bidigaray <stefanbidi@gmail.com>
|
||||||
|
|
||||||
|
* Source/NSLocale.m: Removed NSLog used for debugging.
|
||||||
|
* Source/NSNumberFormatter.m: Fixed decimal separator behavior
|
||||||
|
for OS X > 10.4.
|
||||||
|
|
||||||
2011-01-11 Richard Frith-Macdonald <rfm@gnu.org>
|
2011-01-11 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSString.m: ([-stringByStandardizingPath]) Fix bug when
|
* Source/NSString.m: ([-stringByStandardizingPath]) Fix bug when
|
||||||
|
|
|
@ -736,7 +736,6 @@ static NSRecursiveLock *classLock = nil;
|
||||||
if (mSys != nil)
|
if (mSys != nil)
|
||||||
{
|
{
|
||||||
[_components setValue: mSys forKey: NSLocaleMeasurementSystem];
|
[_components setValue: mSys forKey: NSLocaleMeasurementSystem];
|
||||||
NSLog (@"%@", mSys);
|
|
||||||
if ([mSys isEqualToString: @"Metric"])
|
if ([mSys isEqualToString: @"Metric"])
|
||||||
result = [NSNumber numberWithBool: YES];
|
result = [NSNumber numberWithBool: YES];
|
||||||
else
|
else
|
||||||
|
|
|
@ -307,10 +307,26 @@ static NSUInteger _defaultBehavior = 0;
|
||||||
|
|
||||||
- (NSString*) decimalSeparator
|
- (NSString*) decimalSeparator
|
||||||
{
|
{
|
||||||
|
if (_behavior == NSNumberFormatterBehavior10_4
|
||||||
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST)
|
||||||
|
|| _behavior == NSNumberFormatterBehaviorDefault)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if GS_USE_ICU == 1
|
||||||
|
return [self _getSymbol: UNUM_DECIMAL_SEPARATOR_SYMBOL];
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else if (_behavior == NSNumberFormatterBehavior10_0
|
||||||
|
#if OS_API_VERSION(GS_OPENSTEP_V, MAC_OS_X_VERSION_10_3)
|
||||||
|
|| _behavior == NSNumberFormatterBehaviorDefault)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
if (_decimalSeparator == 0)
|
if (_decimalSeparator == 0)
|
||||||
return @"";
|
return @"";
|
||||||
else
|
else
|
||||||
return [NSString stringWithCharacters: &_decimalSeparator length: 1];
|
return [NSString stringWithCharacters: &_decimalSeparator length: 1];
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString*) editingStringForObjectValue: (id)anObject
|
- (NSString*) editingStringForObjectValue: (id)anObject
|
||||||
|
@ -595,10 +611,25 @@ static NSUInteger _defaultBehavior = 0;
|
||||||
|
|
||||||
- (void) setDecimalSeparator: (NSString*)newSeparator
|
- (void) setDecimalSeparator: (NSString*)newSeparator
|
||||||
{
|
{
|
||||||
|
if (_behavior == NSNumberFormatterBehavior10_4
|
||||||
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST)
|
||||||
|
|| NSNumberFormatterBehaviorDefault)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if GS_USE_ICU == 1
|
||||||
|
return [self _setSymbol: newSeparator : UNUM_DECIMAL_SEPARATOR_SYMBOL];
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else if (_behavior == NSNumberFormatterBehavior10_0
|
||||||
|
#if OS_API_VERSION(GS_OPENSTEP_V, MAC_OS_X_VERSION_10_3)
|
||||||
|
|| NSNumberFormatterBehaviorDefault)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
if ([newSeparator length] > 0)
|
if ([newSeparator length] > 0)
|
||||||
_decimalSeparator = [newSeparator characterAtIndex: 0];
|
_decimalSeparator = [newSeparator characterAtIndex: 0];
|
||||||
else
|
else
|
||||||
_decimalSeparator = 0;
|
_decimalSeparator = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) setFormat: (NSString*)aFormat
|
- (void) setFormat: (NSString*)aFormat
|
||||||
|
|
Loading…
Reference in a new issue