2
所以我想將NSString
轉換爲double。我發現下面的例子:將NSString解析爲Double
NSString * s = @"1.5e5";
NSLog(@"%lf", [s doubleValue]);
它的工作原理,但如果doubleValue
不能轉換串翻一番它只是返回0.0這不是我所需要的。我需要一些方法試圖將double的字符串表示轉換爲double,並且如果以某種方式指示它不能被轉換。 C#具有優異的方法
double d;
boolean Double.TryParse(str, out d)
是否有任何方法與上述類似的一個目標C?或者使用正則表達式更好?然而,我不知道該怎麼做。
人另一個例子認爲正則表達式是一切的最終魔法解決方案,它帶來了世界的和平...... – 2012-10-12 19:50:31
順便說一下,你在做什麼是**未定義的行爲。**如果它打印出正確的值,我不會感到驚訝如果您使用'%lf'而不是'%f'(這是'flo at's而不是'double's ...) – 2012-10-12 19:52:09
@ H2CO3:根據[字符串編程指南/格式說明符](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ Strings/Articles/formatSpecifiers.html),當格式化時,'%f'使用'float'和'double'。只有掃描你必須區分。 –