Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 107
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Divise la chaîne de caractères par le délimiteur ".".
Pas une mauvaise idée...
Il n'est pas nécessaire de démonter quoi que ce soit. Changez-le en chaîne juste pour voir le bon numéro. Vous n'avez rien à faire pour les calculs.
Si vous voulez faire des problèmes, reconvertissez la chaîne en un nombre StringToDouble() et multipliez par _Point normalisé au bon nombre, probablement par _Digits.
Le fait est que je dois décomposer la chaîne en 3 nombres, et je ne peux pas la convertir en un nombre - il s'avère que c'est un nombre très grand pour le langage.
Voici un exemple d'un tel nombre
Print ("CalcY=",CalcY);
Imprime le nombre 11111111111111111104
Peut-être que je suis pressé !
Le problème est que vous devez décomposer la chaîne en 3 nombres, mais vous ne pouvez pas la convertir en un nombre - il s'avère que c'est un très grand nombre pour la langue.
Voici un exemple d'un tel nombre
Print ("CalcY=",CalcY);
Imprime le nombre 11111111111111111104
Des contes...
Essayez vous-même.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Essayez vous-même.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Je veux dire "un nombre trop grand", mais le code est également incorrect, donc si vous voulez convertir d'un format à l'autre, vous devriez le faire de cette façon :
Print ("CalcY=",IntegerToString(CalcY));
Ce dont vous vous plaignez ici n'est pas un grand nombre, mais un problème dans la sortie du texte.
Je veux dire "un trop grand nombre".
Un nombre trop important pour être calculé avec précision - sinon comment expliquez-vous l'erreur à la fin du nombre ?
ci-dessus ajouté.
J'ai donc ce problème - vous pouvez mettre une ligne dans le long, mais j'ai besoin du double pour les calculs de virgule.