FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Convertir alfanumérico a numérico
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Convertir alfanumérico a numérico
Posted: Wed Jan 27, 2016 05: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.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Convertir alfanumérico a numérico
Posted: Wed Jan 27, 2016 06:03 PM
Adhemar, no se si existe alguna funcion, pero esto lo uso yo

Code (fw): Select all Collapse
#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
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Convertir alfanumérico a numérico
Posted: Wed Jan 27, 2016 06:11 PM
Gracias Cristobal

Algo parecido tengo
Code (fw): Select all Collapse
   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.

Continue the discussion