Bonjour,

je bloque sur une misérable ligne de code d'un cours de java :

Soit s une chaine de caractères (uniquement des entiers), genre "0123456789"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
n = (int) s.chatAt (k) - (int) '0' ;
je sais à quoi elle sert mais je ne comprend pas comment elle marche .

On m'a expliqué qu'on récupérait le caractère ASCII du chiffre de la chaine et qu'on lui soustrait une certaine valeur pour retrouver l'entier correspondant.

Jusque la ça va, mais pour convertir un chiffre d'une chaine vers un entier, faut-il toujours soustraire par l'entier '0' ou c'est un cas particulier? Et pourquoi les (int) entre parenthèses?

Merci d'avance pour vos explications !