Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Sinceramente, no tengo ni idea de la intención del OP
Si lo tomamos como una petición general: "¿Cómo comprobar si el contenido de una variable es numérico?", la solución más elegante es utilizar una expresión regular.
Y aquí hay otro que parece más completo (al final de la página):
Sinceramente, no tengo ni idea de la intención del OP
Si lo tomamos como una petición general: "¿Cómo comprobar si el contenido de una variable es numérico?", la solución más elegante es utilizar una expresión regular.
Gracias a todos @ whroeder1, honest_knave, Ernst Van Der Merwe, Alain Verleyen y Fernando Carreiro.
Entonces:
Por ejemplo
{
StringReplace(text," ",NULL);
StringReplace(text,",",NULL);
int point_cnt = 0;
for(int i=StringLen(text)-1; i>=0; i--)
{
int this_char = StringGetChar(text,i);
if(this_char == '.')
{
point_cnt++;
if(point_cnt>1) return(false);
if(StringLen(text)<2) return(false);
}
else if(this_char == '+' || this_char == '-')
{
if(i>0) return(false);
}
else if(this_char < '0' || this_char > '9') return(false);
}
return(true);
}
Si devuelve true, puede convertir la cadena en un número.
Entonces:
Por ejemplo
{
StringReplace(text," ",NULL);
StringReplace(text,",",NULL);
int point_cnt = 0;
for(int i=StringLen(text)-1; i>=0; i--)
{
int this_char = StringGetChar(text,i);
if(this_char == '.')
{
point_cnt++;
if(point_cnt>1) return(false);
if(StringLen(text)<2) return(false);
}
else if(this_char == '+' || this_char == '-')
{
if(i>0) return(false);
}
else if(this_char < '0' || this_char > '9') return(false);
}
return(true);
}
Si devuelve true, puede convertir la cadena en un número.