objective-c - 更精确的值平方根

标签 objective-c ios xcode

要获取 mainlabelString 的平方根值,我正在使用

- (IBAction)rootPressed:(id)sender
{

    NSString *mainLabelString = mainLabel.text;

    int mainLabelValue = [mainLabelString longLongValue];

    NSString *calculatedValue = [NSString stringWithFormat: @"%f", sqrt(mainLabelValue)];

    mainLabel.text = calculatedValue;

}

虽然它确实适用于诸如 88 这样的数字,我从中得到 9.380832,但它不适用于该数字,例如它表示平方根是 3.000000(而不是 3.062814)。
我尝试用 doubleValueintegerValue 替换 longLongValue 但它没有改变它。
怎么了?

最佳答案

如果文本字段中的值类似于@"9.0001",则获取 long long 值会截断小数部分。你说你也尝试过 doubleValue,但我怀疑你做了这样的事情:

int mainLabelValue = [mainLabelString doubleValue]; 

代替:

double mainLabelValue = [mainLabelString doubleValue]; 

在第一种情况下,数字也丢失了小数部分,因为 int 不能存储小数部分,long long int 也不能​​。
让我知道您究竟是如何尝试检索文本字段的 double 值的。

关于objective-c - 更精确的值平方根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13660132/

相关文章:

ios - 为什么我不能创建 NSLayoutConstraint 类型的数组?

ios - 如何设置一个 ViewController 上 UILabel 上的文本以从另一个 ViewController 中提取?

objective-c - 在实例中使用connectiondidFinishLoading并将数据返回到另一个 View

iphone - UIImagePickerControllerEditedImage 问题

ios - 在 iOS 编程中使用 while(true) 语句是一种有效的方法吗?

ios - ios中两个Label的圆角

ios - Quickblox iOS - 消息未读

ios - 如何在未越狱的 iOS 设备上直接从浏览器安装通步推应用程序?

ios - 由于 "UIRequiredDeviceCapabilities",从 ItunesConnect 中删除应用程序并作为新应用程序提交

ios - 复杂的 Storyboard导航