2016-07-08 24 views
1

Wenn ich meine Anwendung in Xcode 7 ausführe, ist der Float80 Datentyp verfügbar und ich kann den Quellcode durch Drücken von Befehl und Klicken auf den Datentyp ansehen. In Xcode 8 beta geht es nur bis Float64, und Float80 ist nicht mehr in dieser Datei enthalten. Hat Float80 jetzt einen anderen Namen? Oder fehlt mir etwas?Swift Float80 Datentyp nicht verfügbar in Xcode 8 Beta

+2

'Float80' ist eine Architektur abhängigen Typ, der für ARM-basierte Plattformen nicht verfügbar. Ist Ihr Projekt (oder Spielplatz) auf macOS ausgerichtet? – OOPer

+0

Es zielt auf iOS und Watch OS – tdon

+0

Float80 wird nur unter OS X unterstützt, da es auf Hardware-Unterstützung, die nicht auf Arm verfügbar ist, hängt. –

Antwort

1

Wie die Kommentare unten meine Frage sagen, Float80 offenbar auf OSX nur verfügbar ist, aber es wird auf dem iPhone Simulator kompilieren, weil das in OSX laufen gelassen. Anstatt den Float80-Datentyp zu verwenden, habe ich am Ende eine NSDecimalNumber verwendet. Ein 64-Bit-Doppelwert kann etwa 16 Ziffern enthalten, aber eine NSDecimalNumber kann bis zu 38 Ziffern enthalten, was perfekt für das ist, wofür ich sie verwenden möchte. In Swift 3 können Sie es wie folgt verwenden:

let number = NSDecimalNumber(value: 25) //decimal that equals 25 
print("number: \(number.decimalValue)") //read-only 
number = number.subtracting(5)   //number == 20 
number = number.adding(5)    //number == 25 

Die Dokumentation finden Sie hier: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/