2015-09-26 66 views
0

我需要将Python的解压缩算法转换为Swift,并且遇到数字格式问题。 Swift中Decimal的等效什么是括号内的括号?尤其是num -= Decimal(32)什么是Python Decimal(32)在Swift中相当于?

for char in compressedData: 
    num = Decimal(safeCharacters.index(char)) 
    if num < 32: 
     point.append(num) 
     pointsArray.append(point) 
     point = [] 
    else: 
     num -= Decimal(32) 
     point.append(num) 
+1

我相信十进制(32)只是创建一个值为'32'的小数对象。你可以看看[十进制文档](https://docs.python.org/2/library/decimal.html)。 – Serneum

+0

那么十进制就相当于Swift中的'Double'?即'Double(32)' –

+0

。十进制用于精确计算十进制数。 Double是二进制浮点。我不知道Swift是否等价于Decimal,但如果它是,它不是Double。例如,您可以精确地将十分之三表示为十进制,但不能表示为双精度。 – saulspatz

回答

0

Python的Decimal的当量是Objective-C的NSDecimalNumber可以从夫特被使用。截至今天,没有原生Swift类型用于精确的十进制算术。有关更多信息,请参阅official documentation

正如评论中所述,Decimal(32)以十进制表示形式创建数字32

相关问题