Самый простой способ посчитать количество знаков после запятой? - страница 4

 
igrok333:

фантастика! кто это придумал? как оно так работает?!)))

Здесь как раз речь о первой значащей цифре после запятой.
Остальные игнорируются.
Для Вашей задачи без цикла не обойтись.
 
Nikolai Semko:
Здесь как раз речь о первой значащей цифре после запятой.
Остальные игнорируются.
Для Вашей задачи без цикла не обойтись.

Не, у меня как раз одна цифра в конце.

https://www.mql5.com/ru/forum/360632/page2#comment_20255343

 
igrok333:

Не, у меня как раз одна цифра в конце.

https://www.mql5.com/ru/forum/360632/page2#comment_20255343

а, ну тогда совсем просто:

int Digits(double x) // для 0<x<1
  {
   return -(int)log10(x)+1;
  }
 
Nikolai Semko:

а, ну тогда совсем просто:

для 0.01 не работает

лучше так:

MathCeil(MathAbs(MathLog10(a)))
 
igrok333:

фантастика! кто это придумал? как оно так работает?!)))

в смысле кто придумал логарифмы ? и как они работают ?

 
Iurii Tokman:

в смысле кто придумал логарифмы ? и как они работают ?

нет, такой способ)

 
igrok333:

нет, такой способ)

ответ где-то в недрах форума

 

Какие недра?

Десятичный логарифм (логарифм по основанию 10) некоего числа возвращает степень, в которую нужно возвести 10, чтобы получить это самое число.

(ц) Алгебра и начала анализа, начиная с 1977 года, когда пошла "новая программа"

Документация по MQL5: Математические функции / MathLog10
Документация по MQL5: Математические функции / MathLog10
  • www.mql5.com
MathLog10 - Математические функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slava:

Какие недра?

Десятичный логарифм некоего числа возвращает степень, в которую нужно возвести 10, чтобы получить это самое число.

(ц) Алгебра и начала анализа, начиная с 1977 года, когда пошла "новая программа"

знаем, знаем. мы про применение этой формулы

int LotsDigits = (int)MathCeil(MathAbs(MathLog(steplot) / MathLog(10)));
которая подошла
 
igrok333:

знаем, знаем. мы про применение логарифма для решения этой задачи.

Применение самое, что ни на есть прямое

PS и конечно же надо иметь в виду точность внутреннего представления вещественных чисел

PPS когда дописывал про точность, вы добавили MathCeil. Прикольно

Документация по MQL5: Математические функции / MathCeil
Документация по MQL5: Математические функции / MathCeil
  • www.mql5.com
MathCeil - Математические функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5