On 1 Mar 2010, at 1:37 PM, Colin Cornaby wrote:

> I'm working with NSXMLDocument and serializing it to a file... The issue is 
> the serialized output contains numbers in exponential formal, i.e. 
> installKBytes="1.744E3". Other programs aren't parsing this correctly... Is 
> there any way to modify the output to just format the numbers normally?

I see this in the documentation for -[NSXMLNode setObjectValue:] (which I 
assume you're passing an NSNumber into):

======
Note: Prior to Mac OS X v 10.6 setObjectValue: would improperly and 
inconsistently format objects that were NSNumber instances. Applications linked 
on Mac OS X 10.6 or later will use correct scientific notation for all 
NSNumbers passed to setObjectValue:.

If you require a particular format for any value in your XML document, you 
should format the data yourself as a string and then use setStringValue: to set 
the value. This guarantees that the text generated is in a format you control 
directly.
======

So if your consumers don't like scientific notation, use an NSNumberFormatter 
to get the preferred format, and set the string value yourself.

The same applies, I imagine, to -[NSXMLElement setAttributesAsDictionary:].

Possibly I'm misunderstanding you. You really don't say how you're putting your 
numbers into the document.

        — F

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to