En Swift, comment voulez-vous convertir une Chaîne de Int64?
Je suis en cours de chargement dans les lignes d'un fichier texte avec de très grands nombres. Chaîne a le toInt méthode, mais comment voulez-vous convertir une chaîne en un Int64 qui sera en mesure de gérer le grand nombre?
Je ne vois pas toInt64 méthode ou d'un toLong etc. Il doit y avoir un moyen, mais je n'ai rien trouvé en cherchant encore.
Sinon je suppose que j'ai pu lire les chiffres dans la chaîne de chiffre par chiffre (ou par des groupes de chiffres), puis les ajouter ainsi que par des facteurs de dix ans, mais qui semble exagéré. Ou peut-être la bonne façon est de lire les données sous une forme binaire et convertir il de cette façon?
Grâce
Si vous compiler en 64 bits, app puis
Même si les réponses ci-dessous sont parfaitement valables, dans mon cas, @MartinR 's réponse a été la plus utile. Si vous ajoutez à cela comme une réponse que je peux vous donner la réponse de crédit.
Int
est un entier de 64 bits.Même si les réponses ci-dessous sont parfaitement valables, dans mon cas, @MartinR 's réponse a été la plus utile. Si vous ajoutez à cela comme une réponse que je peux vous donner la réponse de crédit.
OriginalL'auteur shim | 2014-11-29
Vous devez vous connecter pour publier un commentaire.
De Swift 2.1.1 vous pouvez simplement initialiser
Int64
avecString
OriginalL'auteur Laevand
Si vous n'avez pas l'esprit à l'aide de NSString, vous pouvez le faire
Noter que, contrairement à toInt(), longLongValue renvoie 0 si la chaîne n'est pas un nombre, alors que les toInt() sera de retour nul dans ce cas.
vous pouvez utiliser la fonction C
strtoull
. Exemple:strtoull(str, nil, 10)
. Le premier paramètre est la chaîne et le troisième paramètre est la base pour convertir de. Je ne sais pas ce que le deuxième paramètre de la dose.OriginalL'auteur Mobile Ben
strtoll signifie STRingTOLongLong
http://www.freebsd.org/cgi/man.cgi?query=strtoll
OriginalL'auteur Hal
OriginalL'auteur newacct