Arrotondamento dei numeri in MT4 tramite NormalizeDouble - pagina 5

 
Dmitry Fedoseev:

Ecco il vostro codice:

Metti 3 invece di 2 ed è 0,036

Ha funzionato! Grazie. Normalizzo a 3 e poi taglio le cifre extra dopo il punto decimale.

Potete dirmi se esiste una funzione standard per tagliare le cifre H dopo la virgola? Come StringSubStr solo se è un numero frazionario.

 
Roman Starinskij:

È così che funziona! Grazie. Normalizzo a 3 cifre e poi taglio le cifre extra dopo il punto decimale.

Potete dirmi se c'è una funzione standard per tagliare le cifre H dopo il punto decimale? Come StringSubStr solo se è un numero frazionario.

Se volete tagliare le cifre quando le visualizzate sullo schermo (log), c'è DoubleToString() per questo.
 
Ihor Herasko:
Se state parlando di rifilare le cifre quando si emette sullo schermo (log), allora DoubleToString() è per quello.

No. DoubleToString funziona proprio come NormalizeDouble().

 
Roman Starinskij:

È così che funziona! Grazie. Normalizzo a 3 cifre e poi taglio le cifre extra dopo il punto decimale.

Potete dirmi se c'è una funzione standard per tagliare le cifre H dopo il punto decimale? Come StringSubStr solo se è un numero frazionario.

Non c'è questa funzione, perché non è necessaria. La tua calcolatrice è sbagliata.
 
Roman Starinskij:

Potete dirmi se esiste una funzione standard per troncare le cifre H dopo il punto decimale? Come StringSubStr solo se è un numero frazionario.

Ne uso uno, ma è "non standard":

//+------------------------------------------------------------------+
//| Double Crop function                                             |
//+------------------------------------------------------------------+
double DoubleCrop(double value,int crop)
  {
   string ValueToString="";
   ValueToString=DoubleToString(value,crop);
   return StringToDouble(ValueToString);
  }
//+------------------------------------------------------------------+
 
lilita bogachkova:

Ne uso uno, ma è "personalizzato":

Qual è la mossa geniale?

string ValueToString="";
   ValueToString=DoubleToString(value,crop);
 
lilita bogachkova:

Ne uso uno, ma è "fuori dalla scatola":

Appena scritto, DoubleToString non taglia, funziona allo stesso modo di NormalizeDouble - arrotonda. No... siamo su un bulldozer.
 

Viene rilevato un guasto:

   Alert(
         DoubleToStr(1.15,1)+" "+
         DoubleToStr(1.25,1)+" "+
         DoubleToStr(1.35,1)+" "+
         DoubleToStr(1.45,1)
         );

Risultato: 1.1 1.3 1.4 1.5

Con 1,15 c'è stato uno scarto e con i numeri d'acciaio c'è stato un arrotondamento.

 
Dmitry Fedoseev:

Viene rilevato un guasto:

Risultato: 1.1 1.3 1.4 1.5

Con 1,15 c'è stato uno scarto e con i numeri d'acciaio c'è stato un arrotondamento.

Sì, devo ammettere che l'ho usato senza controllare il risultato :(((
 

Finché gli sviluppatori non rimuovono

it

StringLen

Il numero di caratteri nella stringa, escluso lo zero finale.

non c'è niente da fare per il troncamento.