<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Что с оператором &quot;if&quot;?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Что с оператором &quot;if&quot;? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 12 Apr 2026 22:19:48 +0300</pubDate>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19982/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ArWlkcve" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />Я Вам про это и ответил.<br />=============<br />Это вы не мне ответили.<br />Собственно, ответ уже был <noindex><a href="https://forum.quik.ru/messages/forum10/message19847/topic2229/#message19847" target="_blank" rel="nofollow">дан</a></noindex>:<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_kGP47Trn" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Все дело в типе данных DOUBLE сравнивать нужно с заданной точностью.<br />=============<br /><br />Если хотите сравнивать строки, то используйте string.format. Но вычисляться будет в десять раз дольше, чем с <noindex><a href="https://forum.quik.ru/messages/forum10/message16835/topic1881/#message16835" target="_blank" rel="nofollow">числами</a></noindex>. <br />
			<i>03.11.2016 15:09:01, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19982/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19982/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 15:09:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19980/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZNHvrbWH" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />tostring(dp)==tostring(i)<br />=============<br />Это не надёжный способ сравнения чисел, т.к. при математических операциях над числами с плавающей точкой появляются разряды, которые tostring не опускает.<br /><br />В примере стоит изменить шаг и сравнение с tostring перестаёт работать:<br />
====code====
<pre>function ff1(dp)
&nbsp;&nbsp;for i = -8.8, -0.8, 0.1 do
&nbsp;&nbsp;&nbsp;&nbsp;if tostring(dp) == tostring(i) then print(dp) end
&nbsp;&nbsp;end
end
ff1(-0.8)</pre>
============= <br />
			<i>03.11.2016 14:24:06, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19980/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19980/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 14:24:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19978/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			function ff1(dp) <br />for i=-8.8,-0.8 do <br />print(i..&quot;/&quot;..dp) <br />if tostring(dp)==tostring(i) then print(dp) end <br />end <br />end <br />
			<i>03.11.2016 13:11:04, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19978/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19978/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 13:11:04 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19977/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_aMArXzI7" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br /><br />====quote====<br /> Николай &nbsp;Камынин &nbsp; написал:<br />ff1(-8.8)<br />Все работает правильно.<br />=============<br />Вопрос был в другом &nbsp; <br />
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; ff1 (dp)
&nbsp;&nbsp; for&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; -&nbsp;&nbsp;8.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;0.8&nbsp;&nbsp; do 
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;dp&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp;i&nbsp;&nbsp;then&nbsp;&nbsp; print (dp)&nbsp;&nbsp;end 
&nbsp;&nbsp; end 
 end 

 for&nbsp;&nbsp;param, value&nbsp;&nbsp;in&nbsp;&nbsp;pairs({ -&nbsp;&nbsp;8.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;7.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;6.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;5.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;4.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;3.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;2.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;1.8 ,&nbsp;&nbsp;-&nbsp;&nbsp;0.8 })&nbsp;&nbsp;do 
&nbsp;&nbsp;ff1(value)
 end&nbsp;&nbsp; </pre>
=============
<br />=============<br />Я Вам про это и ответил.<br />В данном варианте Вам надо написать функцию так:<br />unction ff1(dp)<br />for i=-8.8,-0.8 do<br />print(i..&quot;/&quot;..dp)<br />if string(dp)==string(i) then print(dp) end<br />end<br />end <br />
			<i>03.11.2016 13:10:05, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19977/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19977/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 13:10:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19974/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uIfxTD7b" href="/user/62/" bx-tooltip-user-id="62">Николай  Камынин</a> написал:<br />ff1(-8.8)<br />Все работает правильно.<br />=============<br /><br />Вопрос был в другом &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_wink.png" border="0" data-code=":wink:" data-definition="SD" alt=":wink:" style="width:16px;height:16px;" title="Шутливо" class="bx-smile" /> <br /><br />
====code====
<pre>function ff1(dp)
&nbsp;&nbsp;for i = -8.8, -0.8 do
&nbsp;&nbsp;&nbsp;&nbsp;if dp == i then print(dp) end
&nbsp;&nbsp;end
end

for param, value in pairs({-8.8, -7.8, -6.8, -5.8, -4.8, -3.8, -2.8, -1.8, -0.8}) do
&nbsp;&nbsp;ff1(value)
end</pre>
============= <br />
			<i>03.11.2016 09:00:24, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19974/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19974/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 09:00:24 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19972/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			а если передать строку:<br />ff1(tostring(-8.8))<br />То получим:<br />------------------<br />-8.8/-8.8<br />-7.8/-8.8<br />-6.8/-8.8<br />-5.8/-8.8<br />-4.8/-8.8<br />-3.8/-8.8<br />-2.8/-8.8<br />-1.8/-8.8<br />-0.8/-8.8<br />&gt;Exit code: 0<br />Т е строка -8.8 не равна числу -8.8. Это тоже правильная работа if . <br />
			<i>03.11.2016 08:18:43, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19972/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19972/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 08:18:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19971/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			function ff1(dp)<br />for i=-8.8,-0.8 do<br />print(i..&quot;/&quot;..dp)<br />if dp==i then<br />print(dp)<br />end<br />end<br />end<br /><br />ff1(-8.8)<br />----------------------------- <br />результат<br />-8.8/-8.8<br />-8.8<br />-7.8/-8.8<br />-6.8/-8.8<br />-5.8/-8.8<br />-4.8/-8.8<br />-3.8/-8.8<br />-2.8/-8.8<br />-1.8/-8.8<br />-0.8/-8.8<br />&gt;Exit code: 0<br />Все работает правильно. <br />
			<i>03.11.2016 08:15:28, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19971/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19971/topic2229/</guid>
			<pubDate>Thu, 03 Nov 2016 08:15:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19964/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			сравнивать можно, но важно, чтобы тип у сравниваемых переменных был одинаковый.<br />Так как тип указан неявно, то может возникать ситуация сравнения числа с текстом. <br />поэтому при сравнении указывайте тип явно. <br />
			<i>02.11.2016 15:53:46, Николай  Камынин.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19964/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19964/topic2229/</guid>
			<pubDate>Wed, 02 Nov 2016 15:53:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19882/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&nbsp;Да хотябы вот<br /><noindex><a href="https://forum.quik.ru/forum10/topic1881/" target="_blank" rel="nofollow">https://forum.quik.ru/forum10/topic1881/</a></noindex> <br />
			<i>29.10.2016 08:27:22, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19882/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19882/topic2229/</guid>
			<pubDate>Sat, 29 Oct 2016 08:27:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19881/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Нет<br />Сравнивать double переменные (а в Qlua все числовые переменные именно такие) следует с некоторой точностью <br />
			<i>29.10.2016 08:24:08, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19881/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19881/topic2229/</guid>
			<pubDate>Sat, 29 Oct 2016 08:24:08 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19875/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			ну а если умножить на 100 и округлить через math.floor? тогда поможет? &nbsp; <br />
			<i>28.10.2016 21:58:41, Sergey Denegin.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19875/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19875/topic2229/</guid>
			<pubDate>Fri, 28 Oct 2016 21:58:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19873/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_R53QeqX7" href="/user/183/" bx-tooltip-user-id="183">lergen</a> написал:<br />Забыл уточнить числа округлены. Я так думаю проще будет оба числа для верности умножить на 100...<br />=============<br /> это не поможет <br />
			<i>28.10.2016 17:48:16, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19873/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19873/topic2229/</guid>
			<pubDate>Fri, 28 Oct 2016 17:48:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19872/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Забыл уточнить числа округлены. Я так думаю проще будет оба числа для верности умножить на 100... <br />
			<i>28.10.2016 17:06:46, lergen.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19872/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19872/topic2229/</guid>
			<pubDate>Fri, 28 Oct 2016 17:06:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19847/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Все дело в типе данных DOUBLE сравнивать нужно с заданной точностью. На просторах интернета Вы найдете очень много статей по этой теме. <br />
			<i>28.10.2016 06:32:44, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19847/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19847/topic2229/</guid>
			<pubDate>Fri, 28 Oct 2016 06:32:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Что с оператором &quot;if&quot;?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19845/topic2229/">Что с оператором &quot;if&quot;?</a></b> <i>Он не умеет сравнивать дробные числа?</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Пример кода:<br />....<br />function ...(dp)<br />for i=-8.8,-0.8 do<br />				--message(i..&quot;/&quot;..dp)<br /> &nbsp; &nbsp; &nbsp;if dp==i then<br />.....<br /> &nbsp; &nbsp; end<br /> &nbsp;end<br />end<br />...<br />Для проверки совпадения переменных включил оператор message, совпадения происходят а проход через if нет.<br />Оговорюсь что пару дней назад все работало.<br />Файлы dat и info.log удалял не помогло, откат обновления не делал. <br />Это что америка начала воплощать хакерские угрозы :D Или это подтверждение существования практики двойных стандартов и программировании:D <br />
			<i>28.10.2016 06:18:53, lergen.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19845/topic2229/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19845/topic2229/</guid>
			<pubDate>Fri, 28 Oct 2016 06:18:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
