草庐IT

double-submit-prevention

全部标签

ios - 为什么在 Swift 中,当我从 Double 转换为 Int 时它会减去 1?

我有一些非常简单的代码,可以进行计算并将结果double型转换为整数型。letstartingAge=(Double(babyAge/2).rounded().nextDown)print(startingAge)foreachin0..startingAge的第一次打印给出了正确答案,例如5.0。但是当它转换为Int时,它给我的答案是4。当Double为6.0时,int为5。我觉得自己很蠢,但不知道自己做错了什么。 最佳答案 当您调用rounded()时,会将您的值四舍五入为最接近的整数。当您调用.nextDown时,您会得到比现

swift - 我可以强制 NSExpression 和 expressionValue 以某种方式假设 Doubles 而不是 Ints 吗?

我正在尝试对字符串进行数学运算。当我用NSExpression把一个字符串变成一个数学问题,然后用expressionValue得到结果时,Swift假设我想要一个整数。考虑这两个Playground示例:letcurrentCalculation="10/6"letcurrentExpression=NSExpression(format:currentCalculation)print(currentExpression)//10/6ifletresult=currentExpression.expressionValue(with:nil,context:nil)as?Doubl

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 最佳答案

ios - 银联银行 : Prevent backup files on iCloud

如何在我的应用程序中阻止iCloud备份。为此,我尝试使用NSFileManager。和如何在Swift中实现addSkipBackupAttributeToItemAtURL?ItriedwiththisstuffextensionNSFileManager{funcaddSkipBackupAttributeToItemAtURL(url:NSURL)->Bool{varerror:NSError?letsuccess:Bool=url.setResourceValue(NSNumber.numberWithBool(true),forKey:NSURLIsExcludedFrom

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