[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep-corebase to be released next week
From: |
Eric Wasylishen |
Subject: |
Re: GNUstep-corebase to be released next week |
Date: |
Wed, 18 Jul 2012 23:01:57 -0400 |
Hi Stef, Fred,
Here's a little test I did on Mac OS 10.7, after setting the number formatting
locale to French in System Preferences:
#import <Foundation/Foundation.h>
#import <CoreFoundation/CoreFoundation.h>
int main (int argc, const char * argv[])
{
@autoreleasepool {
NSLog(@"%@", CFStringCreateWithFormat(NULL, NULL, CFSTR("%f"),
4.34f));
NSLog(@"%@", [NSString stringWithFormat: @"%f", 4.34f]);
NSLog(@"%@", [NSString localizedStringWithFormat: @"%f",
4.34f]);
}
return 0;
}
and the result:
2012-07-18 22:32:10.981 testtool[58336:707] 4.340000
2012-07-18 22:32:10.985 testtool[58336:707] 4.340000
2012-07-18 22:32:10.991 testtool[58336:707] 4,340000
So it seems CFStringCreateWithFormat behaves the same as -[NSString
stringWithFormat:], which is never affected by the current locale.
I had a look at CFStringFormat.c. I think what you want to change is the locale
param passed to unum_open; ICU interprets null as the "ICU default locale",
which is a locale that depends on the user's setting in their operating system.
I /think/ you want to use "en_US_POSIX" instead of null (see
http://userguide.icu-project.org/locale , there are also various shortcuts like
"" or "C" which map to "en_US_POSIX".)
Cheers,
Eric
On 2012-07-18, at 20:56, Stefan Bidi wrote:
> On Wed, Jul 18, 2012 at 3:39 PM, Fred Kiefer <fredkiefer@gmx.de> wrote:
>> For me (OpenSuse 64bit AMD) the only failing test is this one:
>>
>> Failed test: format.m:28 ... Float/Doubles are formatted correctly
>> expected 5.500000 5.5 3.000000e-06, but got 5,500000 5,5 3,000000e-06
>>
>> This definitely is a problem of the locale, you should have a look at the
>> base test in NSNumberFormatter/basic10_4.m on how to ensure a specific
>> locale for the test.
>
> Would this be correct, though? According to the Apple documentation
> the formatOptions parameter (which is an "unimplemented feature") is
> what specifies the decimal separator, etc. I think the problem here
> is that I use unum_formatDouble() instead of something else.
>
> I don't have a mac, so I can't test how floats/doubles are formatted
> when the locale specifies a ',' for decimal separator.
>
>>
>> Fred
>>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
- Re: GNUstep-corebase to be released next week, (continued)
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/17
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/17
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/18
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/18
- Re: GNUstep-corebase to be released next week, Gregory Casamento, 2012/07/18
- Opal backend (was: GNUstep-corebase to be released next week), Ivan Vučica, 2012/07/19
- Re: GNUstep-corebase to be released next week, Sebastian Reitenbach, 2012/07/18
- Re: GNUstep-corebase to be released next week, Fred Kiefer, 2012/07/18
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/18
- Re: GNUstep-corebase to be released next week,
Eric Wasylishen <=
- Re: GNUstep-corebase to be released next week, Stefan Bidi, 2012/07/21
Re: GNUstep-corebase to be released next week, Sebastian Reitenbach, 2012/07/17