草庐IT

double-double-arithmetic

全部标签

xcode - swift 错误 : Cannot find an initializer for type 'Double' that accepts an argument list of type '(String)'

我正在尝试从标记为“temperatureTextField”的文本字段中获取数据并将其分配给“t”,这是一个Double。理想情况下,用户应该向temperatureTextField添加一个数字值。这是我的方法:@IBOutletweakvartemperatureTextField:UITextField!@IBActionfuncconvert(sender:AnyObject){lett=Double(temperatureTextField.text!)lettempM=TemperatureModel(temp:t!)temperatureTextField.text=S

Swift 的 pow() 函数不接受 Doubles 作为参数

我创建了这个中缀运算符^^作为使用pow函数的替代:infixoperator^^{associativityleftprecedence155}func^^(left:T,right:T)->T{returnpow(leftasDouble,rightasDouble)}我使用IntegerLiteralConvertible协议(protocol)作为泛型left和right的类型约束,因为根据我的理解thisdiagramm表明,它基本上包括所有数字类型。为了使用pow函数,我必须将left和right向下转换为Double,我确实使用了as运算符。这不是最安全的方法,但这不是重

ios - Swift:从 String 创建 double 型将 0000000000001 附加到结果数

我正在尝试使用Double(myTextField.text!)!从UITextField获取Double值。问题是,当我输入某些数字时,我会在数字末尾附加0000000000001。例如,Double("9.05")!给出值9.050000000000001而不是预期的9.05。谁能解释为什么会发生这种情况,以及我如何避免/修复它?在此先感谢您的帮助。 最佳答案 正如一些人指出的那样,潜在的问题是当您以二进制形式存储9.05时,会出现舍入错误。所以它没有附加一些值(value);它在四舍五入后向您显示正确的值(二进制)。这很像以十

ios - Swift: "This class is not key value coding-compliant..."用于 Double 值

我有一个场景,我在Swift中有一个简单的数据对象,其中包含多个属性变量。它们是String?和Double?值类型的混合。我正在尝试使用valueForKey检索每个属性的值。我的代码看起来像这样......letmyDataObj=...letstringKeyName="myStringProperty"letdoubleKeyName="myDoubleProperty"guardletstringPropertyValue=myDataObj.valueForKey(stringKeyName)else{return}guardletdoublePropertyValue=m

swift - 这是将 Double 四舍五入到最接近的一半的好实现吗?

我想在Double中四舍五入到最接近的一半。例如,如果数字是3.76,我希望它四舍五入为4。另一方面,如果数字是3.74,我希望它四舍五入为3.5。我想出了这个代码:extensionDouble{funcroundToClosestHalf()->Double{letupperLimit=ceil(self)letdifference=upperLimit-selfifdifference0.25&&difference是否有更有效/更好的方法来做到这一点?letx=3.21.roundToClosestHalf()//3 最佳答案

swift - 找不到 - 的重载,尽管所有参数都是 double 的

我尝试从pr中找出多项式的值。这是我的代码:letx=Double(pr)letx2:Double=pow(x,2.0)letx3:Double=pow(x,3.0)letx4:Double=pow(x,4.0)letr=CGFloat(4.8*x4-10.4*x3+5.7*x2+1.05*x+0.95)letg=CGFloat(4.8*x4-8.8*x3+3.3*x2+1.65*x+0.0)letb=CGFloat(0.0)letcolor=UIColor(red:r,green:g,blue:b,alpha:1.0)returncolor.CGColor没有太多要解释的,它只是抛出

arrays - 在 Swift 4 中初始化 double 数组

我可以在Swift4中初始化一个Int数组,如下所示://[1,2,3,4,5,6,7,8,9,10]letintArray=Array(1...10)如果我将数组指定为Double的数组,如下所示:letdoubleArray1:[Double]=Array(1...100)...编译器说:Cannotconvertvalueoftype'Array'tospecifiedtype'[Double]'如果我尝试这样做:letdoubleArray1=Array(1...100)...编译器这样说...Cannotinvokeinitializerfortype'Array'witha

原始类型(Int、Float、Double)的泛型会产生奇怪的错误消息

这里有人可以看一下代码并告诉我它有什么问题吗?我基本上尝试构建一些通用函数,这些函数对某些原始类型(如Int、Float、Double等)进行操作。不幸的是我无法让它正常工作。这是有效的代码(部分)://http://stackoverflow.com/a/24047239/2282430protocolSummableMultipliable:Equatable{func+(lhs:Self,rhs:Self)->Selffunc*(lhs:Self,rhs:Self)->Self}extensionDouble:SummableMultipliable{}funcvec_dot(a

ios - 如何解决 SceneKit double not supported 错误?

过去几天我一直在研究iOS版SceneKit。我在尝试创建自定义几何体时遇到了一个问题。每当我尝试显示几何图形时,它都不会绘制,并在运行时显示此错误。SceneKit:错误,C3DRendererContextSetupResidentMeshSourceAtLocation-不支持double我创建了一个针对iOS的Playground来测试一个更简单的自定义几何示例,并查看了thisquestion关于使用swift与objectivec的自定义几何。我尝试了另一个使用objective-c的项目,但仍然收到相同的错误消息。在playground或完整项目上以桌面为目标时,不会出现

swift - CGFloat 和 NSNumber 之间的转换,无需不必要地提升为 Double

众所周知,CGFloat(在CoreGraphics、UIKit等中无处不在)可以是32位或64位float,具体取决于处理器架构。在C中,CGFloat它是一个类型别名到float或double,在Swift中它被定义为一个structCGFloat与native属性(即Float或Double)。已经反复观察到NSNumber可以从并转换为Float和Double,但不存在与CGFloat之间的类似转换。一般建议(例如在ConvertCGFloattoNSNumberinSwift中)是为了通过Double转换CGFloatDoubleNSNumber例子:letc1=CGFloa