Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/05/2013, 16:21
Avatar de drako_darpan
drako_darpan
 
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 7 meses
Puntos: 58
Respuesta: Como mostrar los ultimos numeros en un gridview

Hola que tal, bueno lo prometido es deuda... Me tarde un poco porque tenia unas cosas que terminar

Código C#:
Ver original
  1. public static void fCadenas()
  2.         {
  3.             string sCadena = "C140K42---P150", sPuente = "";
  4.             string sCadenaFinal = null;
  5.             Int32 i = 0, nCaracteres = 0, nTotalCaracteresCopiar = 0;
  6.             char[] cImporteFormatear = new char[20];
  7.             char[] cFormato = new char[10];
  8.             bool bSeguir = true;
  9.  
  10.             try
  11.             {
  12.                 // Se limpian las cadenas char
  13.                 for (i = 0; i <= 19; i++)
  14.                 {
  15.                     cImporteFormatear[i] = ' ';
  16.                 }
  17.  
  18.                 for (i = 0; i <= 9; i++)
  19.                 {
  20.                     cFormato[i] = ' ';
  21.                 }
  22.  
  23.                 // Se cambia la cadena String por char
  24.                 for (i = 0; ( i < sCadena.Length ) && bSeguir; i++)
  25.                 {
  26.                     cImporteFormatear[i] = sCadena[nCaracteres];
  27.                     nCaracteres++;
  28.                 }
  29.  
  30.                 // Se lee la cadena char desde el ultimo registro hasta el primero, siempre y cuando sea número ira tomando los valores.
  31.                 // Al encontrar la primera letra saldra del ciclo.
  32.                 // Se obtiene el valor 051
  33.                 nCaracteres = 0;
  34.                 sCadenaFinal = new string(cImporteFormatear);
  35.                 nTotalCaracteresCopiar = sCadenaFinal.ToString().Trim().Length;
  36.                 for (i = cImporteFormatear.ToString().Length; (i > 0) && bSeguir; i--)
  37.                 {
  38.                     nTotalCaracteresCopiar--;
  39.                     if (Char.IsNumber(cImporteFormatear[nTotalCaracteresCopiar]))
  40.                     {
  41.                         cFormato[nCaracteres] = cImporteFormatear[nTotalCaracteresCopiar];
  42.                         nCaracteres++;
  43.                     }
  44.                     else
  45.                     {
  46.                         bSeguir = false;
  47.                     }
  48.                 }
  49.  
  50.                 // Se limpian las cadenas char
  51.                 for (i = 0; i <= 19; i++)
  52.                 {
  53.                     cImporteFormatear[i] = ' ';
  54.                 }
  55.  
  56.                 // Se lee la cadena char desde el ultimo registro hasta el primero, para mostrarlos ordenados ( Se lee el valor 150 )
  57.                 nCaracteres = 0;
  58.                 sCadenaFinal = new string(cFormato);
  59.                 sPuente = sCadenaFinal.ToString().Trim();
  60.                 nTotalCaracteresCopiar = sPuente.Length;
  61.                 for (i = sPuente.Length; i > 0; i--)
  62.                 {
  63.                     nTotalCaracteresCopiar--;
  64.                     cImporteFormatear[nCaracteres] = cFormato[nTotalCaracteresCopiar];
  65.                     nCaracteres++;
  66.                 }
  67.  
  68.                 string sCadenaMostrar = new string(cImporteFormatear);
  69.                 MessageBox.Show(sCadenaMostrar);
  70.             }
  71.             catch (Exception ex)
  72.             {
  73.                 MessageBox.Show(ex.Message.ToString());
  74.             }
  75.         }

Lo hice en C# y funciona sin importar cuantos numeros tengas al final.

Espero te sirva

Esta hecho de un modo rapido, pero si lo puedes mejorar adelante, esta seria la idea principal ... Cualquier cosa me avisas.