得到“南”在 stringWithFormat 中插入方法时

发布于 2024-10-09 08:07:14 字数 389 浏览 1 评论 0原文

我简化了一些方法,以便于理解和纠正错误。我得到一个“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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

皇甫轩 2024-10-16 08:07:14

您的代码中有几个问题。

  1. getNumber 中返回双精度值,而不是整数。虽然会发生自动强制,但请编写干净的代码。
  2. 使用 %g 格式说明符,而不是 %Lf%g 用于双打。

You have a couple problems in your code.

  1. Return a double, not an integer in getNumber. While automatic coercion will occur, write clean code.
  2. Use the %g format specifier, not %Lf. %g is for doubles.
烟织青萝梦 2024-10-16 08:07:14

您可能需要使用“%f”而不是“%Lf”,因为您传递的是 double,而不是 long double

You might want to use "%f" instead of "%Lf", since you are passing a double, not a long double

爱殇璃 2024-10-16 08:07:14

这是您的格式说明符。您应该使用“%g”来格式化双精度数。

It's your format specifier. You should use "%g" to format a double.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文