使用标签作为快速计算的来源[重复]
Posted
技术标签:
【中文标题】使用标签作为快速计算的来源[重复]【英文标题】:using label as source for calcule swift [duplicate] 【发布时间】:2015-05-28 02:51:54 【问题描述】:在 Obj C 中,我曾经使用一些代码从标签中提取数据,将其拉入浮点数并进行所需的任何计算。
float chiffre1 = [[label1 text] floatValue];
float chiffre2 = [[label2 text] floatValue];
浮点数1 = chiffre1 + chiffre2;
现在在 Swift 中,我尝试做同样的事情,但总是以错误告终。该代码在操场上运行良好,但是当我在我的应用程序中使用它并尝试使用 UILabel 中的数据时,它不再工作了。
@IBOutlet weak var DegreeLat1: UILabel!
@IBoutlet etc...
let deglat1 = DegreeLat1.text
let number2 = MinutLat1.text?.toInt()
let minlat1 = number2! / 60
let etc....
let lat1 = (degrelat1 + minlat1 + seclat1) * pi /180 // error "could not find an overload for "*" that accepts the supplied argument
let long1 = (etc...) * pi / 180
我尝试了很多东西检查几乎所有地方都找不到我做错了什么。
【问题讨论】:
什么是圆周率?你应该使用M_PI
。
仔细查看计算 lat1 时使用的类型。它们都应该是 Double,但 deglat1 是 String,minlat1 可能是 Int...
【参考方案1】:
我不确定你到底想做什么,但我发现有些事情看起来不对,你应该包括你发现的错误,以便更容易帮助你。
let deglat1 = (DegreeLat1.text? as NSString).floatValue
let number2 = MinutLat1.text?.toInt()
let minlat1 = number2! / 60
let lat1 = (degrelat1 + minlat1 + seclat1) * M_PI / 180
希望对你有所帮助!
【讨论】:
谢谢你,我不知道 M_PI。是的,我忘了显示 pi = 3.141592654。我确实将错误放在代码框中,谁是“//错误”找不到接受提供的参数的“*”的重载”。我只是尝试按照您的方式编写,但它给了我更多错误。 “错误,字符串?不能转换为 'NSString' 对不起,我很困惑你还有错误吗?如果是这样,您想用新代码更新问题,以便我们为您提供帮助。 我确实把你刚才看不正确的错误。 您的代码显示“let deglat1 = DegreeLat1.text”您没有修复代码 我只是想回答我的问题,因为我在您的帮助下解决了这个问题。但是一条消息说这篇文章已经关闭,我无法发送我为使我的代码工作所做的事情。我必须找到重新打开帖子的方法。以上是关于使用标签作为快速计算的来源[重复]的主要内容,如果未能解决你的问题,请参考以下文章