Calcular el IBAN con el CCC Código de Cuenta cliente en VB .net

By | 03/02/2016
Public Function CalcularIBAN_R_Str(ByVal NumeroCuenta As String) As String
 
      Dim Aux As String
 
      NumeroCuenta = NumeroCuenta & "142800"
 
      'Hay que calcular el módulo 97 del valor contenido en número de cuenta
      'Como el número es muy grande vamos calculando módulos 97 de 9 en 9 dígitos
      'Lo que se hace es calcular el módulo 97 y al resto se le añaden 7 u 8 dígitos en función de que el resto sea de 1 ó 2 dígitos
      'Y así sucesivamente hasta tratar todos los dígitos

      Aux = String.Format("{0:00}", Integer.Parse(NumeroCuenta.Substring(0, 9)) Mod 97)
 
      NumeroCuenta = NumeroCuenta.Substring(9, NumeroCuenta.Length - 9)
 
      While NumeroCuenta <> String.Empty
         If Integer.Parse(Aux) < 10 Then
            If NumeroCuenta.Length < 8 Then
               Aux = Aux & NumeroCuenta
               NumeroCuenta = String.Empty
            Else
               Aux = Aux & NumeroCuenta.Substring(0, 8)
               NumeroCuenta = NumeroCuenta.Substring(8, NumeroCuenta.Length - 8)
            End If
         Else
            If NumeroCuenta.Length < 7 Then
               Aux = Aux & NumeroCuenta
               NumeroCuenta = String.Empty
            Else
               Aux = Aux & NumeroCuenta.Substring(0, 7)
               NumeroCuenta = NumeroCuenta.Substring(7, NumeroCuenta.Length - 7)
            End If
         End If
 
         Aux = String.Format("{0:00}", Integer.Parse(Aux) Mod 97)
      End While
 
      Return "ES" & String.Format("{0:00}", 98 - Integer.Parse(Aux))
 
   End Function