Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Хорошо торгуешь? Стань поставщиком сигналов и заработай еще больше!
Roman Starinskij
1870
Roman Starinskij 2014.09.10 16:15 

Я чего-то не понимаю или не правильно пользуюсь данный функцией обрезки числовых значений?

Почему функция число 0.0123456 не обрезает?

После работы функции

NormalizeDouble (0.0123456, 2)

Должны получмить 0.01, а не 0.0123456. То есть функция в каких-то моментах не работает?

 

Valeriy Korobeynik
24671
Valeriy Korobeynik 2014.09.10 16:22  
Для печати нужно использовать DoubleToString.
MetaQuotes
Админ
24887
Renat Fatkhullin 2014.09.10 16:25  

Вы приводите на скриншоте один точный пример, а в тексте пишете совершенно некорретный совсем с другим числом и вводящим в заблуждение "результатом".

Наличие мелкого остатка в последнем разряде при операциях с вещественными числами объясняется методом представления этого числа в компьютерах. Дело в том, что вещественные числа хранятся в дискретном/приблизительном представлении. Посмотрите более детальное объяснение тут: http://book.kbsu.ru/theory/chapter4/1_4_13.html

На всякий случай - это касается любого языка программирования общего плана.

Глава 4 — Арифметические основы компьютеров
  • book.kbsu.ru
Стандартные форматы представления вещественных чисел: 1) одинарный  —  32-разрядное нормализованное число со знаком, 8-разрядным смещенным порядком и 24-разрядной мантиссой (старший бит мантиссы, всегда равный 1, не хранится в памяти, и размер поля, выделенного для хранения мантиссы, составляет только 23 разряда). 2) двойной  —  64-разрядное...
Roman Starinskij
1870
Roman Starinskij 2014.09.10 16:31  
valeryk:
Для печати нужно использовать DoubleToString.
Спасибо, забыл о ней почему-то.
Roman Starinskij
1870
Roman Starinskij 2014.09.10 16:32  
Renat:

Вы приводите на скриншоте один точный пример, а в тексте пишете совершенно некорретный совсем с другим числом и вводящим в заблуждение "результатом".

Наличие мелкого остатка в последнем разряде при операциях с вещественными числами объясняется методом представления этого числа в компьютерах. Дело в том, что вещественные числа хранятся в дискретном/приблизительном представлении. Посмотрите более детальное объяснение тут: http://book.kbsu.ru/theory/chapter4/1_4_13.html

На всякий случай - это касается любого языка программирования общего плана.

Благодарю.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий