在stringWithFormat中插入方法时获取'nan'

时间:2010-12-29 20:52:11

标签: objective-c 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
}

3 个答案:

答案 0 :(得分:2)

您的代码中存在一些问题。

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

答案 1 :(得分:0)

您可能希望使用“%f”代替“%Lf”,因为您传递的是double,而不是long double

答案 2 :(得分:0)

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