Avatar ·

Comment convertir un caractère char en nombre int en Rust pour que '1' devienne 1 ?

Bonjour à tous ! Je viens de commencer à apprendre Rust et je suis tombé sur une tâche simple, à première vue. Je dois lire un caractère d'une chaîne et le convertir en nombre entier. Par exemple, j'ai une chaîne "123", et je veux la parcourir en boucle, prendre chaque caractère ('1', '2', '3') et le transformer en nombre entier correspondant (1, 2, 3).\n\nDans d'autres langages, comme Python ou JavaScript, cela se fait très simplement : `int('1')` ou `parseInt('1')`. Mais en Rust, je ne trouve pas d'équivalent direct. J'ai essayé d'écrire ce code :\n\n```rust\nfn main() {\n let c: char = '1';\n let n: i32 = c as i32; // tentative 1\n println!("{}", n);\n}\n```\n\nMais cela affiche 49, et non 1. Je comprends que 49 est le code ASCII du caractère '1'. Comment obtenir correctement la valeur numérique du chiffre, et non son code ? J'ai besoin d'une solution.