Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 951

 
borilunad:

Dans ce cas, il ne sera pas normalisé et pourra provoquer une erreur ! Pourquoi ne vous contentez-vous pas d'un prix normalisé plus précis ?

Je ne sais pas, ça ressemblait à une erreur :)) Mais s'il est plus précis, alors il est bien sûr préférable d'utiliser ce prix, le plus précis. Merci, vous m'avez aidé !
 
Il existe une fonction WindowIsVisible() qui indique l'état de la sous-fenêtre - visible ou non.
Comment rendre invisible une sous-fenêtre d'indicateur, de préférence à partir du code ? (dans la mesure du possible)
 
void OnStart()
  {
string s = "";
double p = 0;
         p = Point;
         p = NormalizeDouble(p, Digits);
         s = DoubleToString (p);
         Alert(s);  
  }

Je voulais qu'Alert montre la valeur normalisée des points. Mais il renvoie 0.00001000, il devrait être normalisé après la fonction NormalizeDouble?

 
JoinDoe:

Je voulais qu'Alert montre la valeur normalisée des points. Mais il renvoie 0.00001000, il devrait être normalisé après la fonction NormalizeDouble ?

DoubleToStr() serait utile
 
Vinin:
DoubleToStr() vous aidera
Merci, ça m'a aidé ! Mais que faire si j'ai besoin d'effectuer des opérations mathématiques avec Point ? Lorsqu'il est émis par Alert, il émet un nombre à 16 chiffres 1e-005.0. Après normalisation, il est de 0.00001000. Pour l'afficher, nous devons le convertir sous forme de chaîne de caractères, mais vous ne pouvez pas effectuer d'opérations arithmétiques avec une chaîne de caractères. Comment puis-je couper les 3 zéros supplémentaires à la fin et être toujours capable d'effectuer des opérations mathématiques ?
 
JoinDoe:
Merci, ça aide ! Mais que faire si j'ai besoin d'effectuer des opérations mathématiques avec Point ? Lorsque vous le sortez par Alert, il sort un chiffre de 16 hexagones 1e-005.0. Après normalisation, c'est 0.00001000. Pour l'afficher, nous devons le convertir sous forme de chaîne de caractères, mais vous ne pouvez pas effectuer d'opérations arithmétiques avec une chaîne de caractères. Comment puis-je couper les 3 zéros supplémentaires à la fin et être toujours capable d'effectuer des opérations mathématiques ?

Et pourquoi les zéros supplémentaires vous dérangent-ils ?

Le stockage et l'affichage des chiffres sont des choses légèrement différentes.

 
JoinDoe:
Merci, ça aide ! Mais que faire si j'ai besoin d'effectuer des opérations mathématiques avec Point ? Lorsqu'il est émis par Alert, il émet un nombre à 16 chiffres 1e-005.0. Après normalisation, c'est 0.00001000. Pour l'afficher, nous devons le convertir sous forme de chaîne de caractères, mais vous ne pouvez pas effectuer d'opérations arithmétiques avec une chaîne de caractères. Comment faire en sorte que l'on puisse couper 3 zéros supplémentaires à la fin, tout en étant capable d'effectuer des opérations mathématiques ?
Vous n'avez pas besoin d'en faire quoi que ce soit. Utilisez-le tel qu'il est. 1e-005 est une forme exponentielle de notation. Le nombre lui-même ne change pas en fonction de la forme sous laquelle vous l'affichez.
 
Il y a un indicateur tampon dans le code, qui est utilisé pour dessiner une ligne sur le graphique.
Après N-bars, cette ligne n'est plus nécessaire, mais l'indicateur continue à consommer de la mémoire.

J'ai une question : si j'annule les valeurs du tampon pour les barres dépassant {0-N} -
, cela libérera-t-il de la mémoire ?

 
atztek:
Il y a un indicateur tampon dans le code qui est utilisé pour dessiner une ligne sur le graphique.
Lorsque N barres passent, cette ligne n'est plus nécessaire, mais l'indicateur continue à consommer de la mémoire.

J'ai une question : si je supprime les valeurs du tampon pour les barres situées en dehors de {0-N}...
Cela permettra-t-il de libérer de la mémoire ?

Non
 
Vinin:
Non
Ai-je raison de supposer que la seule façon d'éviter les dépassements de mémoire par les tampons indicateurs est
de leur allouer initialement une certaine plage (par exemple de 0 à 2000) et de ne pas la dépasser ?