Re: doubleValue (for an NSString)
Re: doubleValue (for an NSString)
- Subject: Re: doubleValue (for an NSString)
- From: Alastair Houghton <email@hidden>
- Date: Thu, 20 Mar 2008 23:35:49 +0000
On 20 Mar 2008, at 23:26, Quincey Morris wrote:
On Mar 20, 2008, at 16:13, Boyd Collier wrote:
According to Apple's documents, the selector doubleValue returns
0.0 if the instance of an NSString that is the receiver "doesn’t
begin with a valid text representation of a floating-point
number." Is there a simple way to distinguish between the string
0.0, which shouldn't be considered illegitimate for my purposes,
and the string (for example) X0.0 other than writing extra lines of
code to distinguish one case from the other? I know I could use a
scanner, but perhaps there's something simple that I'm overlooking.
As it happens, I ran into the integer version of this question
yesterday. My pragmatic solution was to trim the string of
whitespace, then test whether the first character was a digit (or a
period, or a minus sign in your case, perhaps, but they may
introduce localization concerns), and go ahead with the string
conversion if it is. A bit hackish, but easier than setting up a
NSScanner.
Eh? Setting up an NSScanner is *easy*.
NSScanner *scanner = [NSScanner scannerWithString:myString];
if ([scanner scanDouble:&myDouble]) {
// Number valid
} else {
// Number not valid
}
What's hard about that?
Kind regards,
Alastair.
--
http://alastairs-place.net
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden