当我试图计算两点之间的斜率时,我收到了这个错误。用户已将这些点输入到定义为X1,Y1,X2,Y2的文本字段中。然后他们按下'计算'按钮。
这是我的代码,我收到了错误
-- (IBAction)calculate:(id)sender {
self.slopeCalculate = (self.Y2.text - self.Y1.text)/(self.X2.text - self.X1.text);
}
它特别指向'self.X2.text'所以我不知道发生了什么。我在这里做错了什么?
答案 0 :(得分:2)
您无法对NSString
等文字数据进行数值计算,您需要先将它们转换为数字,例如:
double x1Dbl = [self.X1.text doubleValue];
double x2Dbl = [self.X2.text doubleValue];
double y1Dbl = [self.Y1.text doubleValue];
double y2Dbl = [self.Y2.text doubleValue];
self.slopeCalculate = (y2Dbl - y1Dbl) / (x2Dbl - x1Dbl);
您还需要注意垂直线的边缘情况,因为它们具有无限(或未定义)斜率(x2Dbl - x1Dbl
将为零)。