Autor
|
Tema: [RETO] Reemplazo de Funcion IsNumeric (Leído 20,719 veces)
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
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
Mensajes: 3.158
I'Love...!¡.
|
. usa la ultima funcion que postee (1.1 la que esta en geshi) la 1ra no sirve del todo bien. Private Sub Form_Load() MsgBox isNumeric_Black("12,23,34") MsgBox IsNumeric("12,23,34") End Sub
OutPut Verdadero Verdadero
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
Mensajes: 131
https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-
|
Actualización Public Function Is_NumberT(ByRef Str As String) As Boolean On Error GoTo err Str = Str + 0 Is_NumberT = True Exit Function err: End Function
|
|
« Última modificación: 13 Agosto 2011, 17:43 pm por Tenient101 »
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Private Function IsNumeric_r338v2(ByVal str As String) As Boolean Dim cReg As Object Set cReg = CreateObject("VBScript.RegExp") str = Trim$(str) With cReg ' Testeamos con . como separador de miles y , como separador de decimales ' Personalmente seria para mi "^-?(?:\d{1,3}(?:\.\d{3})*|\d+)(?:\,\d+)?$" ' ya que 133.23.330 no es un numero aunque IsNumeric diga que si ¬¬ .Pattern = "^[+\-]?(?:\d{1,3}(?:\.\d{1,3})*|\d*)\,?\d*?$" .Global = True .IgnoreCase = True End With IsNumeric_r338v2 = cReg.Test(str) If Not IsNumeric_r338v2 Then While InStr(str, "..") str = Replace$(str, "..", vbNullString) Wend ' Testeamos con , como separador de miles y . como separador de decimales cReg.Pattern = "^[+\-]?(?:\d{1,3}(?:\,\d{3})*|\d+)\.?\d*$" IsNumeric_r338v2 = cReg.Test(str) End If Set cReg = Nothing End Function
Obviamente ya no es la mas rápida, lo arregle para los caprichos de IsNumeric (desde cuando 1..2..3 es un numero?!!!) 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
Mensajes: 131
https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-
|
Observaciones '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
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Tenient101: Fixed
|
|
|
En línea
|
|
|
|
Sanlegas
Desconectado
Mensajes: 131
https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-
|
Tenient101: Fixed Dim A As String A = "1..2..3 " MsgBox IsNumeric(A) ' = Verdadero MsgBox IsNumeric_r338v2(A) ' = Falso
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Última modificación: Hoy a las 12:54 por raul338 » Incluiste la modificacion?
|
|
|
En línea
|
|
|
|
jaunx
Desconectado
Mensajes: 20
|
buenas, felicitaros a todos por los códigos, no pongo mi code para no quedar último , pero creo que para las pruebas tambien tendríais que usar cadenas como "&HFAA" ó "3e-3".... mi apuesta es por la de 79137913
|
|
|
En línea
|
|
|
|
Sanlegas
Desconectado
Mensajes: 131
https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-
|
Incluiste la modificacion?
Sí, tiene un espacio hasta lo ultimo, IsNumeric lo toma como numero y tu función no.
|
|
|
En línea
|
|
|
|
|
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
|
19 Julio 2010, 17:19 pm
por FFernandez
|
|
|
Reto: puedes descifrar esta pequeña funcion Php??
« 1 2 »
PHP
|
PanConMantequilla
|
12
|
6,686
|
6 Agosto 2010, 04:03 am
por Castg!
|
|
|
[RETO] Reemplazo de Operadores Binarios.
Programación Visual Basic
|
79137913
|
3
|
4,128
|
8 Abril 2011, 14:12 pm
por 79137913
|
|
|
[C]isNumeric (VB6 a C)
Programación C/C++
|
BlackZeroX
|
8
|
5,129
|
20 Agosto 2011, 03:21 am
por BlackZeroX
|
|
|
[RETO] Funcion EntreTextos
Programación Visual Basic
|
79137913
|
1
|
1,605
|
12 Junio 2012, 16:35 pm
por Psyke1
|
|