File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -95,8 +95,8 @@ private static string ObterDigitoVerificador(string chave)
9595 //percorrendo cada caractere da chave da direita para esquerda para fazer os cálculos com o peso
9696 for ( var i = chave . Length - 1 ; i != - 1 ; i -- )
9797 {
98- var ch = Convert . ToInt32 ( chave [ i ] . ToString ( ) ) ;
99- soma += ch * peso ;
98+ var valorCaractere = ObterValorDoCaracteres ( chave [ i ] ) ;
99+ soma += valorCaractere * peso ;
100100 //sempre que for 9 voltamos o peso a 2
101101 if ( peso < 9 )
102102 peso += 1 ;
@@ -115,6 +115,17 @@ private static string ObterDigitoVerificador(string chave)
115115 return dv . ToString ( ) ;
116116 }
117117
118+ /// <summary>
119+ /// Obtem o valor de um caractere
120+ /// </summary>
121+ /// <param name="caractere"></param>
122+ /// <returns></returns>
123+ private static int ObterValorDoCaracteres ( char caractere )
124+ {
125+ const int zeroASCII = 48 ;
126+ return caractere - zeroASCII ;
127+ }
128+
118129 /// <summary>
119130 /// Informa se a chave de um DF-e é válida
120131 /// </summary>
You can’t perform that action at this time.
0 commit comments