Funkcje konwersji:   DoubleToStr()

Funkcja string DoubleToStr() konwertuje liczbę zmiennoprzecinkową w tekst z możliwością wskazania ilości cyfr po znaku dziesiętnym. Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

#property strict
void OnStart()
  {
//--- wyświetlić liczbę 0.123456789 z różną dokładnością
   double value     = 0.123456789;
   int    precision = 4;
   string result    = DoubleToStr(value, precision); // result = 0.1235
   Print("1) result = ",result);

   Print("2) DoubleToStr(0.123456789) = ",DoubleToStr(0.123456789)); /* wynik = 0.12345679, tj. 8 cyfr po kropce
                                                                        ponieważ drugi argument domyślnie = 8 */

//--- wyświetlić z dokładnością 16 cyfr po kropce
   Print("3) DoubleToStr(0.123456789,16) = ",DoubleToStr(0.123456789,16));

//--- wyświetlić w formacie naukowym
   Print("4) DoubleToStr(0.123456789,-4) = ",DoubleToStr(0.123456789,-4));
   Print("5) DoubleToStr(0.123456789,-16) = ",DoubleToStr(0.123456789,-16));
  }

Jeśli drugi argument będzie równy od 0 do 16 to tekstowe przedstawienie liczby będzie miało odpowiednią ilość cyfr po kropce. Jeśli od -1 do -16 to liczba zostanie wyświetlona w formacie naukowym (rys. 1, przykłady 4 i 5). Ostatnia cyfra zostaje zaokrąglona zgodnie z zasadą matematyki.

Rys. 1. Przykłady stosowania funkcji DoubleToStr().


Zamiast DoubleToStr() zalecane jest stosowanie funkcji DoubleToString() . Zobacz lekcję 3.9. Przekształcenie double do string.