On 11 Oct 2014, at 13:44, Greg Parker <gpar...@apple.com> wrote:

> 
>> On Oct 10, 2014, at 11:03 PM, Gerriet M. Denkmann <gerr...@mdenkmann.de> 
>> wrote:
>> 
>> On iOS 8.0:
>> 
>> UInt64 sum = 16494631536958186120UL;
>> NSString *sumString =        [ NSNumberFormatter     
>> localizedStringFromNumber:      @(sum)
>>                                                                              
>> numberStyle:                            NSNumberFormatterDecimalStyle
>>                                      ];
>> results in sumString =  -1,952,112,536,751,365,496, which seems not quite 
>> right.
>> 
>> How can I convince NSNumberFormatter that it should print unsigned integers?
> 
> You can't. Sorry.
> 
> NSNumberFormatter is built atop ICU. ICU's API can handle signed 64-bit 
> integers but not unsigned 64-bit integers.

There is a (sort of) work-around:
double dSum = sum;
NSString *stringWithDigitsLost =        [ NSNumberFormatter     
localizedStringFromNumber:      @(dSum)
                                                                                
                numberStyle:                            
NSNumberFormatterDecimalStyle
                                                        ];
stringWithDigitsLost    = 16,494,631,536,958,200,000
correctString:          = 16 494 631 536 958 186 120


Kind regards,

Gerriet.



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to