elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] Reemplazo de Funcion IsNumeric
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Reemplazo de Funcion IsNumeric  (Leído 20,719 veces)
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #10 en: 11 Agosto 2011, 17:43 pm »

HOLA!!!

Antes de hacer la competencia les muestro donde sus funciones no funcionan igual que IsNumeric... Por favor corrijan y luego testeamos:

REVISEN EL SIGUIENTE POST

GRACIAS POR LEER!!!


« Última modificación: 15 Agosto 2011, 17:19 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #11 en: 11 Agosto 2011, 19:42 pm »

.

usa la ultima funcion que postee (1.1 la que esta en geshi) la 1ra no sirve del todo bien.

Código
  1.  
  2. Private Sub Form_Load()
  3.    MsgBox isNumeric_Black("12,23,34")
  4.    MsgBox IsNumeric("12,23,34")
  5. End Sub
  6.  
  7.  

OutPut

Código
  1.  
  2. Verdadero     Verdadero
  3.  
  4.  

Deberias usar tambien Strins con con Spacios en Blanco.

Temibles Lunas!¡.


« Última modificación: 11 Agosto 2011, 20:04 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #12 en: 13 Agosto 2011, 16:15 pm »

Actualización

Código
  1. Public Function Is_NumberT(ByRef Str As String) As Boolean
  2. On Error GoTo err
  3.        Str = Str + 0
  4.        Is_NumberT = True
  5.        Exit Function
  6. err:
  7. End Function
« Última modificación: 13 Agosto 2011, 17:43 pm por Tenient101 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #13 en: 13 Agosto 2011, 16:38 pm »

Código
  1. Private Function IsNumeric_r338v2(ByVal str As String) As Boolean
  2.    Dim cReg As Object
  3.    Set cReg = CreateObject("VBScript.RegExp")
  4.    str = Trim$(str)
  5.    With cReg
  6.        ' Testeamos con . como separador de miles y , como separador de decimales
  7.        ' Personalmente seria para mi "^-?(?:\d{1,3}(?:\.\d{3})*|\d+)(?:\,\d+)?$"
  8.        ' ya que 133.23.330 no es un numero aunque IsNumeric diga que si ¬¬
  9.        .Pattern = "^[+\-]?(?:\d{1,3}(?:\.\d{1,3})*|\d*)\,?\d*?$"
  10.        .Global = True
  11.        .IgnoreCase = True
  12.    End With
  13.    IsNumeric_r338v2 = cReg.Test(str)
  14.    If Not IsNumeric_r338v2 Then
  15.        While InStr(str, "..")
  16.            str = Replace$(str, "..", vbNullString)
  17.        Wend
  18.        ' Testeamos con , como separador de miles y . como separador de decimales
  19.        cReg.Pattern = "^[+\-]?(?:\d{1,3}(?:\,\d{3})*|\d+)\.?\d*$"
  20.        IsNumeric_r338v2 = cReg.Test(str)
  21.    End If
  22.    Set cReg = Nothing
  23. End Function
  24.  

Obviamente ya no es la mas rápida, lo arregle para los caprichos de IsNumeric (desde cuando 1..2..3 es un numero?!!!)

Código:
sTest                  IsNumeric_r338   IsNumeric  CDbl(sTest)
1..3                   Verdadero        Verdadero       13
+33.2                  Verdadero        Verdadero       332
11111111111111111111   Verdadero        Verdadero       1,11111111111111E+19
12,12                  Verdadero        Verdadero       12,12
12.12                  Verdadero        Verdadero       1212
133.23.330             Verdadero        Verdadero       13323330
36.658,30              Verdadero        Verdadero       36658,3
81,838.59              Verdadero        Verdadero       81,83859
-65,1                  Verdadero        Verdadero       -65,1
12,23,34               Falso            Falso      
asdf                   Falso            Falso      
a12f                   Falso            Falso      
1..1                   Verdadero        Verdadero       11
1,,1                   Falso            Falso      
1..2..3                Verdadero        Verdadero       123
« Última modificación: 13 Agosto 2011, 19:32 pm por raul338 » En línea

Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #14 en: 13 Agosto 2011, 17:17 pm »

Observaciones

Código:
'LeandroA falla en "1. .2..3 "
'r338v2 falla en "1..2..3 "
'TGa falla en "1..2..3 "
'Alx falla en "1..2..3 "
'Black falla en "1. .2..3"

Salu2
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #15 en: 13 Agosto 2011, 17:31 pm »

Tenient101: Fixed :D
En línea

Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #16 en: 13 Agosto 2011, 17:45 pm »

Tenient101: Fixed :D

Código:
Dim A As String
A = "1..2..3 "
MsgBox IsNumeric(A)  ' = Verdadero
MsgBox IsNumeric_r338v2(A) ' = Falso
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #17 en: 13 Agosto 2011, 17:55 pm »

Citar
Última modificación: Hoy a las 12:54 por raul338 »
Incluiste la modificacion?
En línea

jaunx

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #18 en: 13 Agosto 2011, 18:05 pm »

buenas, felicitaros a todos por los códigos,
no pongo mi code para no quedar último  :xD,
pero creo que para las pruebas tambien tendríais que usar cadenas como "&HFAA" ó "3e-3".... ;D

mi apuesta es por la de 79137913  ;-) ;-) ;-)
En línea

Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: [RETO] Reemplazo de Funcion IsNumeric
« Respuesta #19 en: 13 Agosto 2011, 18:10 pm »

Incluiste la modificacion?

Sí, tiene un espacio hasta lo ultimo, IsNumeric lo toma como numero y tu función no.
En línea

Páginas: 1 [2] 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RETO] Funcion iFactorize() - Factorizacion de numeros enteros « 1 2 »
Programación Visual Basic
Karcrack 15 11,821 Último mensaje 19 Julio 2010, 17:19 pm
por FFernandez
Reto: puedes descifrar esta pequeña funcion Php?? « 1 2 »
PHP
PanConMantequilla 12 6,686 Último mensaje 6 Agosto 2010, 04:03 am
por Castg!
[RETO] Reemplazo de Operadores Binarios.
Programación Visual Basic
79137913 3 4,128 Último mensaje 8 Abril 2011, 14:12 pm
por 79137913
[C]isNumeric (VB6 a C)
Programación C/C++
BlackZeroX 8 5,129 Último mensaje 20 Agosto 2011, 03:21 am
por BlackZeroX
[RETO] Funcion EntreTextos
Programación Visual Basic
79137913 1 1,605 Último mensaje 12 Junio 2012, 16:35 pm
por Psyke1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines