Преобразование значения double в string с учётом настоящего количества знаков после запятой

 

Как преобразовать значения double в string с учётом настоящего количества знаков после запятой с помощью стандартных функций и без предупреждений после компиляции?


У меня пока только так получилось, но в этом варианте есть предупреждение а стандартная функция Digits() предназначена только для котировок

int MyDigits(double value)
  {
   int digits;
   string value2 = value;
   int a = StringLen(value2);
   for(int i = 1; i < a; i++)
     {
      string b = StringSubstr(value2,i,1);
      if(b == ".")
        {
         digits = a - (i + 1);
        };
     };
  //-----------------------------------------------------------------
   return(digits);
  }
 
Alexandr Davydovskyi:

Как преобразовать значения double в string с учётом настоящего количества знаков после запятой с помощью стандартных функций и без предупреждений после компиляции?


У меня пока только так получилось, но в этом варианте есть предупреждение а стандартная функция Digits() предназначена только для котировок

Что значит "с учётом настоящего количества знаков"? Не меняя это количество? Оставить столько сколько было? Чем не устраивает

double v = 3.3/5.0;
string a = (string)v;
 
Alexey Viktorov:

Что значит "с учётом настоящего количества знаков"? Не меняя это количество? Оставить столько сколько было? Чем не устраивает

Спасибо! Я не знал об этой фишке, в справке такого я не находил

 
Alexandr Davydovskyi:

Спасибо! Я не знал об этой фишке, в справке такого я не находил

Немного есть и об этом. Называется "Явное преобразование".

Приведение типов - Типы данных - Основы языка - Справочник MQL4
Приведение типов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
Часто возникает необходимость преобразовать один числовой тип в другой. Не каждый числовой тип допустимо преобразовать в другой, допустимые преобразования в MQL4 показаны на схеме: Сплошные линии со стрелками обозначают преобразования, которые выполняются без потери информации. Вместо типа char может выступать тип bool (оба занимают в памяти 1...
 
Alexey Viktorov:

Немного есть и об этом. Называется "Явное преобразование".

Спасибо!