为什么我在iOS上使用tan()函数时出现此问题?

时间:2012-04-30 00:15:53

标签: iphone ios trigonometry

这是我第一次使用任何类型的高级数学构建iOS项目。我已经搜索了很长一段时间但还没有找到解决我问题的方法。我还是iOS的新手,所以任何帮助都会非常感激。

我正在尝试使用一个基本的tan()函数,该函数从文本字段中获取输入,将其转换为度数(因为tan()默认为弧度)并显示在标签中。如果我要将tan 30输入计算器,它将返回.577,我得到.449,这是关闭但如果我输入31,我会收到“2.356”的值?

以下是我的代码部分:

-(IBAction)calculate {
float x = ([textField1.text intValue]);
float d = (x * 180) / M_PI;
float y = tan(d);


label.text = [[NSString alloc] initWithFormat:@"%2.3f", y];
}

3 个答案:

答案 0 :(得分:1)

您正在使用的格式字符串(%2.f)不适合数据 - 它指定不应显示小数位。尝试使用%f

答案 1 :(得分:0)

试试这个

-(IBAction)calculate {
float x = textField1.text.doubleValue;
float d = (x * 180) / M_PI;
float y = tan(d);

label.text = [NSString stringWithFormat:@"%0.3f", y];

答案 2 :(得分:0)

你的“d”是一个浮点数。尝试使用tanf()而不是tan()。