0,02*4,9=0,098 -- não 0,98
saída em formato de 2 casas decimais -- 0,098 será arredondado para 0,10 de acordo com as regras de arredondamento
se a saída for no formato de 3 dígitos -- o número inteiro será emitido.
0,02*4,9=0,098 -- não 0,98
saída em formato de 2 casas decimais -- 0,098 será arredondado para 0,10 de acordo com as regras de arredondamento
Se a saída estiver no formato de 3 dígitos - o número inteiro será impresso.
Obrigado, eu corrigi os números.
Esse é o problema, você tem que tomar 2 dígitos após o ponto decimal. :) Por que ele é arredondado? Como você pode tomar um número fracionário sem arredondamento e apenas 2 dígitos após o ponto decimal (0,09)?
Obrigado, corrigiu os números.
Esse é o problema, você tem que tomar duas casas decimais. :) Por que ele é arredondado? Como você pode tomar um número fracionário sem arredondamento e apenas 2 dígitos após o ponto decimal (0,09)?
Obrigado, corrigiu os números.
Esse é o problema, você tem que tomar duas casas decimais. :) Por que ele é arredondado? Como você pode tomar um número fracionário sem arredondamento e apenas 2 dígitos após o ponto decimal (0,09)?
int a=int(0.098/0.01); double b=a*0.01; Comment(DoubleToString(b,2));
traduzi-lo em um fio e pegar o número de caracteres que você quiser
Você conhece alguma forma mais fácil
E se você o fizer:
int a=int((0.09*5)/0.01); double b=a*0.01; Comment (DoubleToString (b,2));
A produção é de 0,44 em vez dos 0,45 necessários.
E se você o fizer:
A produção é de 0,44 em vez dos 0,45 necessários.
int a=int(MathFloor((0.98)/0.001)); double b=a*0.001; Comment(DoubleToString(b,2));
0,098, não 0,98. :)
int a = int (MathFloor ((0.098) / 0.001)); double b = a * 0.001; Comment (DoubleToString (b, 2));
Retorna 1, e valor exato desejado = 0,09.
Você conhece uma maneira mais fácil?
Essa é a primeira coisa que me vem à cabeça, é claro que existem outras mais simples.
Também não é complicado, mas talvez seja mais lento:
int DIGITS=2; string stroka=DoubleToString(0.09845,8); int P=StringFind(stroka,"."); Print(stroka); stroka=StringSubstr(stroka,0,P+DIGITS+1); Print(StringToDouble(stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Saudações. Eu preciso de ajuda com um problema:
Todas as funções retornam 0,1. Embora (0,02*4,9) = 0,098 e deve retornar 0,09.
Por favor me diga como obter o valor exato que devolve minha calculadora? :)