Je suis actuellement sur le petit projet calculatrice et j’aimerais savoir s’il y a un moyen de cacher les décimales dans le label result, comme montré sur le screenshot
Vu qu’on utilise des variables DOUBLE c’est logique vu qu’on veut stocker des décimales pour les division par ex.
J’imagine qu’une solution doit exister, j’ai cherché un peu mais aucune ne fonctionne
// Valeur flottante
let valeur = 32.9876550
// Conversion simple flottant => String
let str1 = String(valeur)
print ("Conversion simple : ", str1)
// Conversion flottant => String
// avec formatage du résultat
// (On garde les 2 premières décimales)
// (après la virgule)
let str2 = String(format:"%.02f", valeur)
print ("Conversion avec 2 chiffres après la virgule : ", str2)
// Conversion flottant => String
// avec un formatage ne conservant
// qu'un chiffre après la virgule
let str3 = String(format:"%.01f", valeur)
print ("Conversion avec 1 chiffre après la virgule : ", str3)
Conversion simple : 32.987655
Conversion avec 2 chiffres après la virgule : 32.99
Je vois le processus qui est fait pour tronquer le résultat pour ne pas afficher la décimale si il n’y a pas besoin, mais j’aimerais savoir également comment l’intégrer au projet calculatrice, j’ai essayé plusieurs solutions mais aucune ne fonctionne pour le moment.
normalement tu prend la variable que tu à utilisé pour ton label résultat et tu as juste à rajouter .clean derrière (normalement tu as l’autocompletion qui doit s’afficher) et n’oublie pas de le convertir en String sinon, ça ne fonctionne pas.
Je n’ai pas accès à la vidéo parlant de la calculatrice, n’ayant probablement pas acheté le cours correspondant. Montre-nous le code de ta calculatrice. Ce sera plus simple que d’expliquer des choses théoriques un peu dans le vide.
Oui tu as juste a mettre l’extension quelque par dans ton viewController et de rajouter .clean dans le performWaitingCalculous() avec "\(result.clean)" et normalement ça devrais fonctionner.
Attention à la solution d’Antony. Elle a un petit coté magique pour un débutant, en utilisant des fonctions de haut niveau comme les extensions, et des opérateurs mathématiques sophistiqués.
Le but d’un exercice comme la calculatrice est de permettre à un novice de manipuler des concepts simples. L’arrondi du résultat se fait avec la fonction String(format:). A mon sens, l’encapsuler dans une formule magique complexe n’aide pas à la compréhension des mécanismes de base.