<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Проблема вычисления выражений с дробными числами]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Проблема вычисления выражений с дробными числами форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 01 May 2026 10:49:39 +0300</pubDate>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44077/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_avcbxxzM" href="/user/13877/" bx-tooltip-user-id="13877">Игорь</a> написал:<br />Ничего умнее не придумал для округления до 4 знаков:<br />math.floor(num * 10000+ 0.5) / 10000<br /><br />Только жалко время на расчеты тратится..<br />=============<br />так будет быстрее:<br />0.0001*math.floor(num * 10000+ 0.5) &nbsp; <br />
			<i>26.04.2020 11:32:18, Николай Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44077/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44077/topic5339/</guid>
			<pubDate>Sun, 26 Apr 2020 11:32:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44067/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wFf0GJ4V" href="/user/13877/" bx-tooltip-user-id="13877">Игорь</a> написал:<br />Имею опыт программирования на других языках, и там как-то интерпретатор /компилятор справляются...<br />=============<br />Нигде не справляются, это фича чисел с плавающей точкой. На тех же сях то же самое, там просто в pfintf/sprintf/etc по дефолту режется до (не более чем) 6 знаков после запятой тем же способом, что вы привели, поэтому на первый взгляд кажется, что все точно. Посмотрите в интернетах, целые статьи как два дабла сравнить чтобы не было мучительно больно. Если нужно перфекционизьму, надо с ценами работать с фиксированной точкой, но в луа целых вычислений нет как таковых, так что ваш вариант вполне себе оптимальный (только не учитывает возможность отрицательного аргумента, в этом случае не в ту сторону округлите). О лишних вычислениях переживать незачем, там столько оверхеда по другим поводам, что это вообще никак не повлияет, даже если глубоко в цикл вложить. <br />
			<i>25.04.2020 18:44:47, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44067/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44067/topic5339/</guid>
			<pubDate>Sat, 25 Apr 2020 18:44:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44066/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Мне нужно чтобы выражения типа 1.0872-1.0871 давали точно 0.0001<br />0.5 добавляется на случай если выражение 1.0872-1.0871 вернет результат 0.00009999999999999999 <br />
			<i>25.04.2020 17:54:03, Игорь.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44066/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44066/topic5339/</guid>
			<pubDate>Sat, 25 Apr 2020 17:54:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44065/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TjWYpBKM" href="/user/13877/" bx-tooltip-user-id="13877">Игорь</a> написал:<br />Ничего умнее не придумал для округления до 4 знаков:<br />math.floor(num * 10000+ 0.5) / 10000<br /><br />Только жалко время на расчеты тратится..<br />=============<br />с какой целью Вы это делаете?<br />В исходном варианте у Вас погрешность 0.0000000000000001<br />а в вашем - погрешность 0.00005 т е в 10000000000 раз больше.<br />Оно Вам надо?<br />----------------------<br />Вам &quot;шашечки&quot; или ехать? <br />
			<i>25.04.2020 17:41:11, Николай Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44065/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44065/topic5339/</guid>
			<pubDate>Sat, 25 Apr 2020 17:41:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44055/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Ничего умнее не придумал для округления до 4 знаков:<br />math.floor(num * 10000+ 0.5) / 10000<br /><br />Только жалко время на расчеты тратится.. <br />
			<i>24.04.2020 21:17:23, Игорь.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44055/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44055/topic5339/</guid>
			<pubDate>Fri, 24 Apr 2020 21:17:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44050/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Смысл написанного Вами понятен. <br />Имею опыт программирования на других языках, и там как-то интерпретатор /компилятор справляются...<br />Какое типовое решение используется для &quot;обхода&quot; данной фичи, можете подсказать?<br />Речь идет об манипуляциях с bid и offer полученными через tonumber(getParamEx(class,sec,&#39;bid &#39;).param_value) &nbsp;и имеющих 4 знака после запятой <br />
			<i>24.04.2020 20:00:34, Игорь.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44050/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44050/topic5339/</guid>
			<pubDate>Fri, 24 Apr 2020 20:00:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44049/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			чтобы было точно надо исчислять в двоично-десятичном формате. <br />
			<i>24.04.2020 19:48:17, Николай Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44049/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44049/topic5339/</guid>
			<pubDate>Fri, 24 Apr 2020 19:48:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44048/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rf2ldadr" href="/user/13877/" bx-tooltip-user-id="13877">Igor Ankudinov</a> написал:<br />Здравствуйте.<br /><br />Запускаю простейший скрипт:<br /><br />message(&#39;&#39;..1.100-1.099) &nbsp;-----&gt; 0.0010000000000001<br /><br />Как так? Большое недоумение у меня...<br />=============<br />комп исчисляет в двоичной <br /> чел - в десятичной <br />из десятичной в двоичную и обратно не всегда можно точно.<br />вот и получаем приближенно.<br />----------------------- <br />
			<i>24.04.2020 19:47:03, Николай Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44048/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44048/topic5339/</guid>
			<pubDate>Fri, 24 Apr 2020 19:47:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Проблема вычисления выражений с дробными числами</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message44046/topic5339/">Проблема вычисления выражений с дробными числами</a></b> <i>message(''..1.100-1.099)  -----&gt; 0.0010000000000001</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте.<br /><br />Запускаю простейший скрипт:<br /><br />message(&#39;&#39;..1.100-1.099) &nbsp;-----&gt; 0.0010000000000001<br /><br />Как так? Большое недоумение у меня... <br />
			<i>24.04.2020 19:23:21, Igor Ankudinov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message44046/topic5339/</link>
			<guid>http://forum.quik.ru/messages/forum10/message44046/topic5339/</guid>
			<pubDate>Fri, 24 Apr 2020 19:23:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
