草庐IT

int_expr

全部标签

ios - Swift 将 Int [int8] 的有符号数组转换为 Int [UInt8] 的无符号数组

如何将[Int8]的有符号数组转换为[UInt8]的无符号数组。letarryData:[Int8]=[-108,11,-107,-14,35,-57,-116,118,54,91,12,67,21,29,-44,111]我只想将上面的这个转换成无符号[UInt8]数组。如何swift实现这一目标。?提前致谢。 最佳答案 如果您打算将带符号的8位整数转换为无符号的具有相同的位表示(例如-1->255):letintArray:[Int8]=[0,1,2,127,-1,-2,-128]letuintArray=intArray.map

ios - 在 Swift 中,如何将格式化的 Int 值插入到 String 中?

这似乎是一个非常基本的问题,但我似乎无法在任何地方找到答案:-(我可以在ObjectiveC中做到这一点,但我被Swift卡住了。我需要做的:取一个整数值将其格式化为本地化字符串使用stringWithFormat等效方法将值注入(inject)另一个字符串(因为另一个字符串也已本地化,下面的简化示例中未显示)如何在ObjectiveC中轻松完成-这是可行的://pointsisoftypeNSNumber*NSNumberFormatter*formatter=[NSNumberFormatternew];formatter.locale=[NSLocalecurrentLocale

xcode - 二元运算符 '/' 不能应用于两个 (Int) 操作数

这个问题在这里已经有了答案:PassinglistsfromonefunctiontoanotherinSwift(2个答案)关闭7年前。当我将以下代码放入Xcode的Swiftplayground中时,出现Binaryoperator'/'cannotbeappliedtotwo(Int)operands错误。funcsumOf(numbers:Int...)->Int{varsum=0fornumberinnumbers{sum+=number}returnsum}sumOf()sumOf(42,597,12)上面是一个计算任意数字总和的函数。下面是一个计算数字平均值的函数。该函数

ios - Swift - EXC_BAD_ACCESS 尝试将 dict 值读取为 Int 时

假设我有一个定义如下的字典:letpath=NSBundle.mainBundle().pathForResource("books",ofType:"plist")letdict=NSDictionary(contentsOfFile:path)letbooks=dict.objectForKey("Books")as[[String:AnyObject]]letrnd=Int(arc4random_uniform((UInt32(books.count))))letbookData=books[rnd]为什么会这样?letauthor=bookData["author"]!asSt

ios - 在 Swift 中,如何像 Java 中的 Long.parseLong 一样将 String 转换为 Int 以 2 为基数 36?

如何在Swift中将字符串转换为长整型?在Java中我会做Long.parseLong("str",Character.MAX_RADIX)。 最佳答案 我们现在在Swift标准库中内置了这些转换函数:使用从2到36的基数编码:https://developer.apple.com/documentation/swift/string/2997127-init使用基数2到36解码:https://developer.apple.com/documentation/swift/int/2924481-init

swift : Cannot invoke 'filter' with an argument list of type '(@noescape (Int) throws -> Bool)'

我遇到了这个错误:funccompactCoords(coords:[Int])->[Int]{returncoords.filter({(value)->Boolinreturnvalue!=0})}无法使用类型为“(@noescape(Int)throws->Bool)”的参数列表调用“filter”感谢您的帮助! 最佳答案 您的代码在Xcode7.1中运行良好。您可能不小心尝试在Xcode6.x中运行此代码?你可以像这样缩短你的函数:funccompactCoords(coords:[Int])->[Int]{returnco

swift 错误 : cannot convert value of type 'Int32' to expected argument type 'Int32'

我正在尝试编写一对函数,将String转换为[UInt8]字节数组,然后再转换回来。作为[UInt8]->String函数的一部分,我试图将单个Int32转换为Character。letnum:Int32=5letchar=Character(_builtinUnicodeScalarLiteral:num)但是我遇到了这个奇怪的错误:error:cannotconvertvalueoftype'Int32'toexpectedargumenttype'Int32'letchar=Character(_builtinUnicodeScalarLiteral:num)^~~编辑:我设法使

ios - Strideable.distance(to : A) -> A. Stride in conformance Int64 + 124) 的协议(protocol)见证 - 此错误消息是什么意思?

我的iosswift应用程序从iTunesConnect获得了一堆崩溃日志,堆栈跟踪的顶部显示了错误消息:protocolwitnessforStrideable.distance(to:A)->A.StrideinconformanceInt64+124这来self的代码中无害的一行,如下所示:if(var1-var2>MyClass.THRESHOLD){//Dosomething}var1和var2被声明为Int64类型,而THRESHOLD是:staticletTHRESHOLD=900*1000我有一种预感,这是因为THRESHOLD没有被声明为Int64,尽管我仍然没有假设

swift - 为什么将 Double 转换为 Int 不会在 Swift 中返回可选的 Int?

将String转换为Int会返回可选值,但将Double转换为Int不会返回可选值。这是为什么?我想检查double值是否大于最大Int值,但由于转换函数不返回可选值,我无法使用可选绑定(bind)进行检查。varstringNumber:String="555"varintValue=Int(stringNumber)//returnsoptional(555)vardoubleNumber:Double=555varfromDoubleToInt=Int(doubleNumber)//returns555因此,如果我尝试转换大于最大整数的double,它会崩溃而不是返回nil。va

c - Swift3:将原始指针转换为 Int(指针本身就是 int 值,不指向任何地方!)

考虑以下C语言代码:voidsomeFunction(inttype,void*someData){unsignedvalue=(int)someData;}我知道这段代码看起来有点奇怪,但这个函数是一个回调函数,回调函数必须接受一个void*参数,实际上someData通常是指向某个内存结构的指针(type会告诉我是哪个结构)但在那种情况下它不是。在那种情况下,它实际上只是一个unsignedint值;不是指向这样一个值的指针,而是值本身。调用者实际上是这样调用这个函数的:unsignedvalue=...;callbackFunction(type,(void*)value);是的