gpt4 book ai didi

objective-c - 将 NSString 解析为 Double

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:28 24 4
gpt4 key购买 nike

所以我想将 NSString 转换为 double。我找到了以下示例:

NSString * s = @"1.5e5";
NSLog(@"%lf", [s doubleValue]);

它可以工作,但如果 doubleValue 不能将字符串转换为 double,它只会返回 0.0,这不是我需要的。我需要一些方法来尝试将 double 的字符串表示形式转换为 double,如果无法转换则以某种方式指示。c#有一个很棒的方法

double d;
boolean Double.TryParse(str, out d)

在Objective C中有没有和上面类似的方法?或者也许最好使用正则表达式?但是,我真的不知道该怎么做。

最佳答案

您可以使用 NSScanner 类:

NSString *s = @"1.5e5";
NSScanner *scanner = [NSScanner scannerWithString:s];
double d;
BOOL success = [scanner scanDouble:&d];

如果你想确保整个字符串都被扫描过(数字后面没有多余的字符),使用

BOOL isAtEnd = [scanner isAtEnd];

关于objective-c - 将 NSString 解析为 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com