Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
{
//---
ObjectCreate("SimultaneousReleaseIndex1",OBJ_LABEL,0,0,0);
ObjectSetString(0,"SimultaneousReleaseIndex1",OBJPROP_TEXT,"Four");
ObjectCreate("SimultaneousReleaseIndex2",OBJ_LABEL,0,0,0);
ObjectSetString(0,"SimultaneousReleaseIndex2",OBJPROP_TEXT,"44");
ObjectCreate("SimultaneousReleaseIndex3",OBJ_LABEL,0,0,0);
ObjectSetString(0,"SimultaneousReleaseIndex3",OBJPROP_TEXT,"Forty4");
ObjectCreate("SimultaneousReleaseIndex4",OBJ_LABEL,0,0,0);
ObjectSetString(0,"SimultaneousReleaseIndex4",OBJPROP_TEXT,".1234567890");
if(IsNumeric(ObjectGetString(0,"SimultaneousReleaseIndex1",OBJPROP_TEXT)))
Print("text1 is numeric");
if(IsNumeric(ObjectGetString(0,"SimultaneousReleaseIndex2",OBJPROP_TEXT)))
Print("text2 is numeric");
if(IsNumeric(ObjectGetString(0,"SimultaneousReleaseIndex3",OBJPROP_TEXT)))
Print("text3 is numeric");
if(IsNumeric(ObjectGetString(0,"SimultaneousReleaseIndex4",OBJPROP_TEXT)))
Print("text4 is numeric");
}
//---
bool IsNumeric(string text)
{
int length=StringLen(text);
for(int i=0;i<length;i++)
{
int char1=StringGetChar(text,i);
if((char1>47 && char1<58) || char1==46)
continue;
else
return(false);
}
return(true);
}
//+------------------------------------------------------------------+
Oh, olhe para mim. Eu deveria ter sabido. Obrigado @whroeder1.
Outra coisa é como inserir números negativos. O código precisa capturar o sinal de negação (-) somente no início da entrada.
Além disso, a fim de aperfeiçoar o código. Ele precisa aceitar o símbolo de negação (-) mesmo no meio de números como (45-20) e tratá-lo como subtração e avaliar e então usar o código
A idéia é fazer OBJPROP_TEXT propriedade da OBT_EDIT para aceitar dados do calendário econômico e tratá-los como os números que são. É por isso que uma função embutida do IsNumeric é bastante importante para evitar escrever um código desnecessariamente grande para ele.
É claro que um período (.) deve ser numérico já que (.) é considerado como a mesma coisa com um período e zero (.0) que na verdade é zero (0). Agora eu tentei aumentar o número de períodos (.....) e ainda o reconheço como numérico. Precisamos do código para período (.) de modo a eliminar período adicional (....) uma vez que o primeiro período foi citado em
Outra coisa é como inserir números negativos. O código precisa capturar o sinal de negação (-) somente no início da entrada.
Além disso, a fim de aperfeiçoar o código. Ele precisa aceitar o símbolo de negação (-) mesmo no meio de números como (45-20) e tratá-lo como subtração e avaliar e então usar o código
A idéia é fazer OBJPROP_TEXT propriedade da OBT_EDIT para aceitar dados do calendário econômico e tratá-los como os números que são. É por isso que uma função embutida do IsNumeric é bastante importante para evitar escrever um código desnecessariamente grande para ele.
macpee:
Of course a period (.) should be numeric since (.) is regarded as the same thing with a period and zero (.0) which is in fact zero (0). Now I tried increasing the number of period (.....) and it is still recognizing it as numeric. We need the code for period (.) so as to eliminate additional period (....) once the first period has been cited in
Outra coisa é como inserir números negativos. O código precisa capturar o sinal de negação (-) somente no início da entrada.
Há algum eco aqui dentro?
Sim, esse tipo de coisa.
Você precisaria ter cuidado:
________________________________
A propósito, não consigo encontrar a lista do código (ASCII, presumo).
Vá em frente, experimente. Eu sei que você está ansioso por uma chance de aprimorar suas habilidades de busca.
________________________________
A idéia é fazer OBJPROP_TEXT propriedade de OBT_EDIT para aceitar os dados do calendário econômico e tratá-los como os números que eles são. É por isso que uma função embutida do IsNumeric é bastante importante para evitar escrever um código desnecessariamente grande para ele.
Embora eu possa ter entendido mal sua intenção, se você quiser que o usuário insira datas em uma caixa de edição e depois as interprete como datas (possivelmente não se você estiver interessado em números negativos), eu não estou convencido de que esta seja a melhor abordagem por uma série de razões.
Há algum eco aqui?
________________________________
Vá em frente, experimente. Eu sei que você está ansioso por uma chance de aprimorar suas habilidades de busca.
________________________________
Embora eu possa ter entendido mal sua intenção, se você quiser que o usuário insira datas em uma caixa de texto e depois as interprete como datas (possivelmente não se você estiver interessado em números negativos), eu não estou convencido de que esta seja a melhor abordagem por uma série de razões.
Na verdade, os dados econômicos em questão não incluem datas - apenas dados 'reais', 'previstos', 'anteriores' e possivelmente 'revisados'. É claro que também não pretendemos inserir símbolos como B(para bilhões), %(para porcentagem), etc. Apenas números reais puros, sem espaços. A idéia é calcular o que eu chamo de "Índice de Lançamento Simultâneo". O objetivo é combinar um conjunto de dados econômicos lançados simultaneamente e vê-los como um único dado. Eu combinaria todos os 'reais' como um 'real', todas as 'previsões' como uma 'previsão', etc., a fim de ver a relação entre o combinado 'real' e o combinado 'previsão', etc.
Portanto:
por exemplo
{
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);
}
Se voltar a ser verdade, você pode lançar o cordel como um número.
Portanto:
por exemplo
{
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);
}
Se voltar a ser verdade, você pode lançar o cordel como um número.