stringToDouble qui dit mieux ?
Gercofis
Membre
j'ai trouvé ça :
func stringToDouble (laString: String ) -> Double {
if laString != "" {
//laString.characters
let index = laString.index(of: " ") ??
laString.endIndex
let stringPurgee = laString[..<index]
let newString = String(stringPurgee)
let leDouble = Double(newString)
return leDouble!
C'est pas mal, mais ça ne fonctionne que dans le cas ou il y a un espace après le chiffre. Mais que un Espace....
A-t-on une solution qui ferait la même chose, mais dès que le test rencontre autre chose qu'un chiffre, ou la ponctuation décimale ?
du genre == laString.isDigit ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
1. il faut créer la méthode d'une manière qu'elle puisse échouer.
e.g.
Puis, tu devrais utiliser Scanner dans la méthode :
Et, pour la tester :
Merci Joanna, sans douter un instant que ça marche, j'espérais une solution plus simple...
Moi je dis :
a
a
Et je le prouve :
a
Il est dommage que String ne possède pas l'opérateur doubleValue de son ancêtre NSString. Heureusement une petite conversion permet de régler le problème.
@Draken
Tu peux faire :
Mais je crois que Gercofis voulait trouver un Double d'un String qui n'est pas nécessairement "net"
@Gercofis
Tu pourrais avoir une méthode comme :
Mais :
... te donnerait le même résultat avec la différence que le premier puisse se débrouiller avec les strings qui ne sont pas nets
Voilà un peu ce que je cherchais, ça marche même très bien...
Merci a vous deux...
Je recherche dans ce type de sujet la liste (sur un site) des commandes ou codes qui transforme des chiffres en String ? quand on utilise "\("
Pour tout dire je veux afficher le résultat d'un calcul avec 2 chiches après la virgule donc un Float (par exemple) dans un label et les chiffres après la virgule sont zappés ?
Merci Joanna, mais ce que je cherche c'est une page Web qui recense toutes les fonctions ou codes du type String("du texte"\(une valeur) avec divers formatages") Je l'ai eu mais je ne parviens pas a la retrouver...
Voilà mon code et les 2 chiffres après la virgule sont zappés:
Ton code marche bien ici :
Ou tu peux faire :
Merci Joanna, mon problème venait d'autre chose résultat de petits calculs que je ne manipule pas encore facilement...
En bardant tout ça de print("....") j'ai rectifié le tir et maintenant c'est cohérent, du coup je manipule un peu mieux les conversions vers les Strings...
Mais ce que je cherchais initialement c'est une page Web qui liste toutes les "\(....)" généralement utilisée dans les print de la sur la console. je l'ai eu mais elle se cache super bien... Mais grâce a mon coté Breton je ne désespère pas...
On ne peut pas encore utiliser les "format specifiers" avec "\(...)"
Quand même, pour String.init(format:_ : ), on a toujours https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html
Ou, mieux
https://developer.apple.com/documentation/swift/string/1779834-init
pour prendre compte de la locale
C'est un peu ce que je cherchais, j'ai eu trouvé un tableau plus général, mais bon...
moi, MIEUX !