Convertir alfanumérico a numérico

Convertir alfanumérico a numérico

Postby acuellar » Wed Jan 27, 2016 5:53 pm

Amigos

Existe alguna función
Ej:
Para convertir "AB12345" a 12345
"K1234#" a 1234
"1234H1.1" a 123411

Con Val retorna siempre 0

Gracias por la ayuda.

Saludos,


Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Convertir alfanumérico a numérico

Postby cnavarro » Wed Jan 27, 2016 6:03 pm

Adhemar, no se si existe alguna funcion, pero esto lo uso yo

Code: Select all  Expand view

#include "fivewin.ch"


Function Main()

        ? uCharToVal( "AB123K45" )
Return nil

Function uCharToVal( cCad )

   Local x
   Local cTmp
   Local cVal  := ""
   
   For x = 1 to len( cCad )
       cTmp := Substr( cCad, x, 1 )
       if Asc( cTmp ) >= 48 .and. Asc( cTmp ) <= 57
          cVal += cTmp
       endif
   Next x
   
Return Val( cVal )

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6500
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Convertir alfanumérico a numérico

Postby acuellar » Wed Jan 27, 2016 6:11 pm

Gracias Cristobal

Algo parecido tengo
Code: Select all  Expand view

   nNIT:=""
   cNIT:="1AB123.455h"
   For I=1 to Len(cNIT)
      Car:=Subs(cNit,I,1)
      nNIT+=If(Asc(Car)>47 .and. Asc(car)<58,Car,"")
   Next I
   nNIT:=Val(nNIT)
 


Lo dejaré así.

Quizas Antonio incorpore una Función que se llame StrToVal()

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 63 guests