J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
string Normalize (string Normalize_Parse, int Normalize_Number, string Normalize_Separator = ".")
{
string Normalize_Before,
Normalize_After;
for (int i = 0; i <= StringLen (Normalize_Parse) - 1; i ++)
{
if (StringSubstr (Normalize_Parse, i, StringLen (Normalize_Separator)) == Normalize_Separator)
{
for (int ii = i + StringLen (Normalize_Separator); ii < i + StringLen (Normalize_Separator) + Normalize_Number; ii ++)
{
Normalize_After += StringSubstr (Normalize_Parse, ii, 1);
}
break;
}
Normalize_Before += StringSubstr (Normalize_Parse, i, 1);
}
return (Normalize_Before + (Normalize_After > 0 ? Normalize_Separator + Normalize_After : ""));
}
J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
Résultat pour "0.09864724" :
Résultat pour"0,-843158":
Opérations avec double et similaire :
J'ai fait des recherches et une telle fonction existe déjà dans MQL4 (5 ?). S'il n'est pas là, pourquoi ne pas l'avoir ajouté il y a longtemps ? :)
J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
Résultat pour "0.09864724" :
Résultat pour"0,-843158":
Opérations avec double et similaire :
J'ai fait des recherches et une telle fonction existe déjà dans MQL4 (5 ?). S'il n'est pas là, pourquoi ne pas l'avoir ajouté il y a longtemps ? :)
Vous opérez avec des exemples étranges - c'est pourquoi il est impossible de conclure que votre fonction fonctionne correctement.
mais cette valeur
0.099999999
retournera 0,1
)
alors ce qui a été cité plus haut serait plus approprié à la tâche du CT :
Les retours :
J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
Résultat pour "0.09864724" :
Résultat pour"0,-843158":
Opérations avec double et similaire :
J'ai fait des recherches et une telle fonction existe déjà dans MQL4 (5 ?). S'il n'est pas là, pourquoi ne pas l'avoir ajouté il y a longtemps ? :)
J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
Résultat pour "0.09864724" :
Résultat pour"0,-843158":
Opérations avec double et similaire :
J'ai fait des recherches et une telle fonction existe déjà dans MQL4 (5 ?). S'il n'est pas là, pourquoi ne pas l'avoir ajouté il y a longtemps ? :)
J'ai esquissé une fonction qui fait exactement ce que je veux qu'elle fasse : elle tronque précisément une chaîne de caractères à la précision spécifiée , contrairement à DoubleToStr:
Résultat pour "0.09864724" :
Résultat pour"0,-843158":
Opérations avec double et similaire :
J'ai fait des recherches et une telle fonction existe déjà dans MQL4 (5 ?). S'il n'est pas là, pourquoi ne pas l'avoir ajouté il y a longtemps ? :)
Prenez cet exemple :
comment laisser =0,019999999999999999999999 -- laisser =0,01
Vous opérez avec des exemples hors de propos - vous ne pouvez donc pas conclure que votre fonction fonctionne correctement.
Prenez cet exemple :
comment laisser =0,019999999999999999999999 -- laisser =0,01
Je ne comprends toujours pas ce que vous voulez.
Si vous voulez voir 0,098 sur le graphique au lieu de 0,098, alors faites-le !
int a=0.098 * 100 ;
double d=a/100.0 ;
Commentaire(StringFormat("%G", d ) ;
a vérifié la dernière fonction, laisse 0.01
J'ai vérifié votre fonction... elle laisse 0,02.
En effet, 0,02.
Ma fonction est peut-être plus encombrante, mais elle coupe exactement 0,01.
a vérifié la dernière fonction, laisse 0.01