Obj-C文本字段,浮点值和SIGBART

时间:2013-01-05 01:22:47

标签: objective-c ios nsstring

我正在编写一个iOS应用程序,用于(在许多功能中)计算家庭酿酒师发酵前后糖的酒精含量。现在的问题是;每次我在模拟器中运行我的应用程序时,一旦我输入UIViewController,其中包含此函数中使用的文本字段,标签和按钮(在实现中),它会与“线程1:信号SIGBART”崩溃:

- (IBAction)calcAlc:(id)sender {
double ogVal = [[oGtext text]floatValue];
double fgVal = [[fGtext text]floatValue];

double alcoContent = ((1.05*(ogVal-fgVal))/fgVal)/0.79;

NSString *theResult = [NSString stringWithFormat:@"%1.2f",alcoContent];

alcContent.text = theResult;

}

我真的被困在这里 - 任何帮助都非常感激。提前谢谢!

2 个答案:

答案 0 :(得分:3)

您应该检查fgVal是否为0,因为您要除以fgVal。

您还需要使用doubleValue代替floatValue,因为您将其声明为double

答案 1 :(得分:1)

我认为你应该尝试浮动代替双倍。 现在在每个方法上加上断点并调试它以获得应用程序崩溃的确切位置,然后您就能找到解决方案。 还要确保在故事板或笔尖中连接每个ib插座和操作(无论你使用什么)。

如果有效,请通知.. :)