Funkcje konwersji:   DoubleToString()

Funkcja string DoubleToString() 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    = DoubleToString(value, precision); // result = 0.1235
   Print("1) result = ",result);

   Print("2) DoubleToString(0.123456789) = ",DoubleToString(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) DoubleToString(0.123456789,16) = ",DoubleToString(0.123456789,16));

//--- wyświetlić w formacie naukowym
   Print("4) DoubleToString(0.123456789,-4) = ",DoubleToString(0.123456789,-4));
   Print("5) DoubleToString(0.123456789,-16) = ",DoubleToString(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 DoubleToString().


Jeśli trzeba przekonwertować tekst w liczbę zmiennoprzecinkową, należy zastosować funkcję StringToDouble() . Zobacz lekcję 3.9. Przekształcenie double do string.