得到“南”在 stringWithFormat 中插入方法时
我简化了一些方法,以便于理解和纠正错误。我得到一个“nan”而不是得到号码,不明白为什么。我想将 getNumber 方法放在 return 语句中。当我在里面有这个方法时,它会返回一个 nan 字符串,但是当我将 26 放入其中时,它会返回 26,这就是我想要的。
-(double) getNumber { return 26; }
-(NSString *) convertToString {
return [NSMutableString stringWithFormat: @"%Lf",[self getNumber]];
// returns 'nan' when I replace [self getNumber] with 15 I get 15
}
I have simplifed some methods for ease of understanding and correction of the error. I get a 'nan' instead of getting the number and don't understand why. I want to put the getNumber method inside the return statement. When I have the method inside it returns a string of nan but when I just put the 26 inside it returns 26, what I want.
-(double) getNumber { return 26; }
-(NSString *) convertToString {
return [NSMutableString stringWithFormat: @"%Lf",[self getNumber]];
// returns 'nan' when I replace [self getNumber] with 15 I get 15
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的代码中有几个问题。
getNumber
中返回双精度值,而不是整数。虽然会发生自动强制,但请编写干净的代码。%g
格式说明符,而不是%Lf
。%g
用于双打。You have a couple problems in your code.
getNumber
. While automatic coercion will occur, write clean code.%g
format specifier, not%Lf
.%g
is for doubles.您可能需要使用“%f”而不是“%Lf”,因为您传递的是
double
,而不是long double
You might want to use "%f" instead of "%Lf", since you are passing a
double
, not along double
这是您的格式说明符。您应该使用“%g”来格式化双精度数。
It's your format specifier. You should use "%g" to format a double.