<?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, 17 Apr 2026 05:37:22 +0300</pubDate>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1850/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Как вариант:<br />
====code====
<pre>local nul = 0.000000001
if math.abs(a - b) &#60; nul then print('a == b') else print('a ~= b') end</pre>
=============
или<br />
====code====
<pre>if math.abs(a - b) &#60; PriceStep*0.1 then print('a == b') else print('a ~= b') end
</pre>
============= <br />
			<i>05.03.2015 16:36:44, Серж.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1850/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1850/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:36:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1849/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_QSXDsUJn" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />А то, какие выражения вы используете при сравнении этих чисел, никак не повлияет на Ваши дальнейшие вычисления, так как значения этих чисел в результате сравнения все равно не изменятся.<br /><br />=============<br />Значения не изменятся, но мне нужно чтобы сами числа были такие, какие я для себя вижу, без дополнительных значений в n-цатом разряде. <br />
			<i>05.03.2015 16:24:31, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1849/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1849/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:24:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1848/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wrKchx7S" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br /><br />====quote====<br /> Максим пишет: <br />но потом нужно делать арифметические операции, и вновь эта проблема всплывет<br /><br />=============<br />А что мешает делать эти операции с исходными числами, без всяких преобразований?<br /><br />=============<br />Мне нужно оценить, отличатся ли цена на шаг цены или более. Шаг цены 0.0001. допустим идет сравнение по разности текщей цены и текущего бида в стакане. Дополнительные разряды искажают инфу. &nbsp;<br /> &nbsp; <br />
			<i>05.03.2015 16:23:08, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1848/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1848/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:23:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1847/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А то, какие выражения вы используете при сравнении этих чисел, никак не повлияет на Ваши дальнейшие вычисления, так как значения этих чисел в результате сравнения все равно не изменятся. <br />
			<i>05.03.2015 16:06:59, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1847/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1847/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:06:59 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1846/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_zorkIuCJ" href="/user/702/" bx-tooltip-user-id="702">Максим</a> пишет: <br />но потом нужно делать арифметические операции, и вновь эта проблема всплывет<br /><br />=============<br />А что мешает делать эти операции с исходными числами, без всяких преобразований? <br />
			<i>05.03.2015 16:05:04, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1846/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1846/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:05:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1844/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_WBBgnIfM" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />Выражение даже можно упростить:<br />qt.bid<I>.price*PRICE_SCALE == math.floor(current_order_price_buy*PRICE_SCALE + 0.5)<br /></I><br />=============<br /><br /><br /> Дмитрий, для сравнения это подойдет, но потом нужно делать арифметические операции, и вновь эта проблема всплывет. <br />Я тут нашел функцию:<br /><br /><noindex><a href="http://math.modf (x)" target="_blank" rel="nofollow">math.modf (x)</a></noindex><br />Возвращает два числа, Целую чать x и дробную часть x.<br /><br />Как она возвращает дробную часть - я не совсем понял, но целую часть она возвращает хорошо). Если теперь записать так:<br />math.modf(qt.bid&#91;i&#93;.price*PRICE_SCALE)/PRICE_SCALE==math.modf(current_order_price_buy*PRICE_SCALE)/PRICE_SCALE<br /><br />то числа будут совпадать. <br />
			<i>05.03.2015 16:00:26, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1844/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1844/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 16:00:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1834/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Выражение даже можно упростить:<br />qt.bid&#91;i&#93;.price*PRICE_SCALE == math.floor(current_order_price_buy*PRICE_SCALE + 0.5) <br />
			<i>05.03.2015 15:24:54, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1834/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1834/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:24:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1833/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Тогда Вам поможет следующий вариант, уже написанный мною выше:<br />math.floor(qt.bid&#91;i&#93;.price*PRICE_SCALE) == math.floor(current_order_price_buy*PRICE_SCALE)<br />или правильней так, чтобы округление было по правилам математики, а не просто отсечение дробной части:<br />math.floor(qt.bid&#91;i&#93;.price*PRICE_SCALE) == math.floor(current_order_price_buy*PRICE_SCALE + 0.5)<br /><br /><noindex><a href="http://forum.quik.ru/user/21/" target="_blank" rel="nofollow">Michael Bulychev</a></noindex>, подскажите, пожалуйста, а отдельной функции округления по правилам математики в Lua нет? <br />
			<i>05.03.2015 15:23:02, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1833/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1833/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:23:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1832/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_6z9Ao1mj" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />Можно вместо tonumber(qt.bid<I>.price)==tonumber(current_order_price_buy) попробовать написать<br />qt.bid<I>.price == tostring(current_order_price_buy)<br /></I></I><br />=============<br /> Так тоже не проходит. нужно отрубить все разряды вплоть до 4-го после запятой <br />
			<i>05.03.2015 15:15:25, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1832/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1832/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:15:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1831/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_rolv6lsk" href="/user/702/" bx-tooltip-user-id="702">Максим</a> пишет: <br />Здравствуйте!<br />Довольно чайниковский вопрос, но разобраться не могу.<br />Возникает проблема со сравнением двух чисел и арифметическими операциями. <br />Есть цена из стакана qt.bid<I>.price=91.702700. И есть цена current_order_price_buy=91.7027 (визуально совпадают)<br />Однако их сравнение tonumber(qt.bid<I>.price)==tonumber(current_order_price_buy) не происходит! При этом разность этих чисел равна diff=-1.4210854715202e-014<br />Как сделать так, чтобы они все же совпадали, т е какими видятся, такими были и фактически. <br /><br />Спасибо<br /></I></I><br />=============<br />Вот, например, <noindex><a href="http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm" target="_blank" rel="nofollow">как правильно сравнивать числа с плавающей точкой</a></noindex> <br />
			<i>05.03.2015 15:13:35, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1831/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1831/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:13:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1830/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Так наверное будет лучше:<br />
====code====
<pre>math.floor(qt.bid&#91;i&#93;.price*PRICE_SCALE) == math.floor(current_order_price_buy*PRICE_SCALE)

 </pre>
============= <br />
			<i>05.03.2015 15:12:42, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1830/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1830/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:12:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1828/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно вместо tonumber(qt.bid&#91;i&#93;.price)==tonumber(current_order_price_buy) попробовать написать<br />qt.bid&#91;i&#93;.price == tostring(current_order_price_buy) <br />
			<i>05.03.2015 15:07:42, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1828/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1828/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:07:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1826/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			*PRICE_SCALE - это правильно. А зачем потом делить на эту же величину?<br />Лучше умножить на нее current_order_price_buy <br />
			<i>05.03.2015 15:06:13, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1826/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1826/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:06:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1825/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_NSm5Y6BR" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />И кстати значение current_order_price_buy=91.7027 откуда берется? Если в результате какой-то арифметической операции, то разряды. дающие разницу между этими переменными, могут быть просто не видны, т.к. больше 6 разрядов после точки не отображается.<br /><br />=============<br />Да, Вы верно говорите, мне кажется все дело именно в это переменной. А как просто взять и обрубить эти разряды? <br />
			<i>05.03.2015 15:05:32, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1825/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1825/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:05:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1823/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_tcxELSCb" href="/user/114/" bx-tooltip-user-id="114">Дмитрий</a> пишет: <br />А если умножать оба числа на 10000 перед сравнением ?<br /><br />=============<br />Это делал<br />math.floor((math.floor(tonumber(qt.bid&#91;i&#93;.price)*PRICE_SCALE)/PRICE_SCALE<br />В итоге получается число меньше: вместо 91.7027 получилось 91.7026 <br />
			<i>05.03.2015 15:04:10, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1823/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1823/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:04:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1822/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			И кстати значение current_order_price_buy=91.7027 откуда берется? Если в результате какой-то арифметической операции, то разряды. дающие разницу между этими переменными, могут быть просто не видны, т.к. больше 6 разрядов после точки не отображается. <br />
			<i>05.03.2015 15:02:10, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1822/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1822/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 15:02:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1821/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			самое простое - убрать нули справа <br />
			<i>05.03.2015 14:59:34, sam063rus.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1821/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1821/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 14:59:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1820/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А если умножать оба числа на 10000 перед сравнением ? <br />
			<i>05.03.2015 14:59:11, Дмитрий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1820/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1820/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 14:59:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вопрос по ЛУА (округление)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message1819/topic247/">Вопрос по ЛУА (округление)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте!<br />Довольно чайниковский вопрос, но разобраться не могу.<br />Возникает проблема со сравнением двух чисел и арифметическими операциями. <br />Есть цена из стакана qt.bid&#91;i&#93;.price=91.702700. И есть цена current_order_price_buy=91.7027 (визуально совпадают)<br />Однако их сравнение tonumber(qt.bid&#91;i&#93;.price)==tonumber(current_order_price_buy) не происходит! При этом разность этих чисел равна diff=-1.4210854715202e-014<br />Как сделать так, чтобы они все же совпадали, т е какими видятся, такими были и фактически. <br /><br />Спасибо <br />
			<i>05.03.2015 14:55:02, Максим.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message1819/topic247/</link>
			<guid>http://forum.quik.ru/messages/forum10/message1819/topic247/</guid>
			<pubDate>Thu, 05 Mar 2015 14:55:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
