草庐IT

im2double

全部标签

ios - 在 Swift 中找不到 Double 类型的初始值设定项

我想将从文本字段中获取的String值转换为Double值并存储它,但我不断收到错误消息,它找不到接受参数列表类型(String)的Double类型的初始化程序。我该如何解决这个问题?@IBOutlettweakvartempText:UITextField!@IBActionfuncconvertBtn(sender:AnyObject){lett=Double(tempText.text!)lettemp=TempCoverterModel(temp:t!)tempText.text=String(temp.toCelsius())} 最佳答案

ios - 在 Swift 中将 Double 转换为 NSNumber 会失去准确性

这个问题在这里已经有了答案:Isfloatingpointmathbroken?(31个答案)关闭6年前。出于某种原因,我的Swift应用程序中的某些double在转换为NSNumber时给我带来了麻烦,而有些则没有。我的应用程序需要将带2位小数的double(价格)转换为NSNumber,以便可以使用CoreData存储和检索它们。例如,除非使用NSNumber的doubleValue方法进行特殊格式化,否则一些特定价格(如79.99)将计算为99.98999999999999。这里selectedWarranty.price=79.99如调试器所示//item.price:NSNu

string - 检查字符串是否是 Swift 中的有效 double 值

在Swift中,如何检查字符串是否为有效的double值?我一直在使用thisquestion中的以下扩展名(但作为float)但如果该值无法转换,它只返回“0”:extensionString{vardoubleValue:Double?{return(selfasNSString).doubleValue}}理想情况下,我希望它返回nil,这样它就可以在if-let中被捕获,如下所示:ifleti=str.doubleValue{object.price=i}else{//Telluserthevalueisinvalid} 最佳答案

swift - 将 Double 舍入到最接近的 10

我想将Double舍入到最接近的10的倍数。例如,如果数字是8.0,则四舍五入为10。如果数字是2.0,则将其四舍五入为0。我该怎么做? 最佳答案 您可以使用round()函数(对float进行舍入到最接近的整数值)并应用10的“比例因子”:funcroundToTens(x:Double)->Int{return10*Int(round(x/10.0))}示例用法:print(roundToTens(4.9))//0print(roundToTens(15.1))//20在第二个例子中,15.1除以十(1.51),四舍五入(2.0

swift - 使用 Swift 将整数分成 double

funcavg(numbers:Int...)->Double{varsum=0;vari=0;fornumberinnumbers{sum+=number;++i;}returnsum/i;}avg(42,597,12);行returnsum/i导致错误Couldnotfindanoverloadfor'/'thatacceptsthesuppliedarguments.我应该在这里做什么? 最佳答案 如果你想返回一个Double,你应该在你的函数中处理Double。将sum和i更改为Doubles(0.0vs0)并将每个数字转换

swift - Swift 中 Double 的 Unsigned Long Long

我曾经在Objective-C中使用以下内容:doublecurrentTime=CFAbsoluteTimeGetCurrent();//self.startTimeiscalledbefore,like//self.startTime=CFAbsoluteTimeGetCurrent();doubleelapsedTime=currentTime-self.startTime;//ConvertthedoubletomillisecondsunsignedlonglongmilliSecs=(unsignedlonglong)(elapsedTime*1000);在我目前的swif

swift - 在 Swift 中获取 double 的小数部分

我试图在swift中分离double的小数部分和整数部分。我尝试了多种方法,但它们都遇到了同样的问题......letx:Double=1234.5678letn1:Double=x%1.0//n1=0.567800000000034letn2:Double=x-1234.0//sameresultletn3:Double=modf(x,&integer)//sameresult有没有办法在不将数字转换为字符串的情况下获得0.5678而不是0.567800000000034? 最佳答案 您可以使用truncatingRemainde

swift - swift 乘以变量和 double

我是一名想学习Swift的设计师,而且我是初学者。我没有任何经验。我正尝试在Xcode的playground中使用基本代码创建一个小费计算器。这是我目前所拥有的。varbillBeforeTax=100vartaxPercentage=0.12vartax=billBeforeTax*taxPercentage我得到错误:Binaryoperator'*'cannotbeappliedtooperandsoftype'Int'and'Double'这是否意味着我不能乘double?我是否遗漏了变量和double的任何基本概念? 最佳答案

ios - Swift - 从 Double 中删除尾随零

从double中删除尾随零的函数是什么?vardouble=3.0vardouble2=3.10println(func(double))//3println(func(double2))//3.1 最佳答案 你可以这样做,但它会返回一个字符串:vardouble=3.0vardouble2=3.10funcforTrailingZero(temp:Double)->String{vartempVar=String(format:"%g",temp)returntempVar}forTrailingZero(double)//3fo

ios - 如何快速将 double 转换为字节数组?

我知道如何在java中执行此操作(请参阅here),但我找不到java的ByteBuffer的快速等效项,因此找不到它的.putDouble(doublevalue)方法。基本上,我正在寻找这样的函数:funcdoubleToByteArray(value:Double)->[UInt8]?{...}doubleToByteArray(1729.1729)//shouldreturn[64,155,4,177,12,178,149,234] 最佳答案 typealiasByte=UInt8functoByteArray(varval