<?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>Mon, 06 Apr 2026 09:35:51 +0300</pubDate>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32331/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</a></b> <i>В скрипте две переменных, округленные до сотых. Из одной вычитается другая. Результаты математической операции ниже:</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			На просторах интернетов можно найти доп.модуль QL.LUA, в нём много различных вкусностей, которые помогают не изобретать велосипед, а использовать то, что уже давным давно написано. Скачиваете, подключаете в своем модуле (require &quot;QL&quot;;), используете...<br />В частности из QL.LUA:<br />
====code====
<pre>function toScale(number,scale,dir)
&nbsp;&nbsp;&nbsp;-- округление числа до scale вниз при dir==floor, вверх при dir==ceil или математическое при dir==nil
&nbsp;&nbsp;&nbsp;if not dir then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return math_floor((0.5*scale+number)/scale)*scale -- math rounding
&nbsp;&nbsp;&nbsp;elseif dir=='floor' then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return math_floor(number/scale)*scale&nbsp;&nbsp;-- floor rounding
&nbsp;&nbsp;&nbsp;elseif dir=='ceil' then&nbsp;&nbsp; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return math_ceil(number/scale)*scale&nbsp;&nbsp;-- ceil rounding
&nbsp;&nbsp;&nbsp;end
end</pre>
============= <br />
			<i>24.07.2018 06:20:26, Александр.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32331/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32331/topic3815/</guid>
			<pubDate>Tue, 24 Jul 2018 06:20:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32327/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</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_CDjjyahE" href="/user/901/" bx-tooltip-user-id="901">Suntor</a> написал:<br />Вывод:Код0.15<br />0.14999999999999999Потому что десятичные дроби не раскладываются точно на двоичные по законам математики.<br />=============<br />Вас понял. В моем случае все решается самописной функцией, которая округляет результат до сотых по &quot;законам математики&quot;. Ссылка на решение выше. Спасибо всем кто откликнулся. <br />
			<i>23.07.2018 17:38:35, sav 312.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32327/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32327/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 17:38:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32325/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</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_nsYnrqW1" href="/user/2495/" bx-tooltip-user-id="2495">sav 312</a> написал:<br />В скрипте две переменных, округленных до сотых. Из одной вычитается другая. Результаты математических операции ниже:<br />0.14999999999999<br />Подскажите каким образом получить нормальный результат?<br />=============<br />Никак. Даже если напрямую запишите значение 0.15, оно всё равно не будет точным:
====code====
<pre>local x = 0.15
print(string.format("%.16g", x))
print(string.format("%.17g", x))</pre>
=============
Вывод:
====code====
<pre>0.15
0.14999999999999999</pre>
=============
Потому что десятичные дроби не раскладываются точно на двоичные по законам математики. <br />
			<i>23.07.2018 16:53:23, Suntor.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32325/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32325/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 16:53:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32320/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</a></b> <i>В скрипте две переменных, округленные до сотых. Из одной вычитается другая. Результаты математической операции ниже:</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Отбой! Нашел, что нужно. Если кому понадобится решение то оно здесь <noindex><a href="https://quikluacsharp.ru/qlua-osnovy/matematicheskie-funktsii-v-qlua-lua/" target="_blank" rel="nofollow">https://quikluacsharp.ru/qlua-osnovy/matematicheskie-funktsii-v-qlua-lua/</a></noindex> <br />
			<i>23.07.2018 12:21:57, sav 312.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32320/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32320/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 12:21:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32319/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</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_9N6vlise" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Здравствуйте,<br />Это известная проблема с использованием типа данных с плавающей точкой.<br />Рекомендуем добавить функцию округления до заданной точности.<br />=============<br />Сергей, здравствуйте!<br />Собственно мой вопрос в этом и заключался. Каким образом это реализовать? <br />Прошу сильно не пинать, лучше если есть такая возможность - скиньте пример. <br />
			<i>23.07.2018 12:10:42, sav 312.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32319/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32319/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 12:10:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32317/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</a></b> <i>В скрипте две переменных, округленные до сотых. Из одной вычитается другая. Результаты математической операции ниже:</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Это известная проблема с использованием типа данных с плавающей точкой.<br />Рекомендуем добавить функцию округления до заданной точности. <br />
			<i>23.07.2018 12:02:35, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32317/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32317/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 12:02:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Вычитание из числа округленного до сотых числа округленного до сотых</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message32315/topic3815/">Вычитание из числа округленного до сотых числа округленного до сотых</a></b> <i>В скрипте две переменных, округленные до сотых. Из одной вычитается другая. Результаты математической операции ниже:</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В скрипте две переменных, округленных до сотых. Из одной вычитается другая. Результаты математических операции ниже:<br />0.14999999999999<br />0.099999999999994<br />0.13000000000001<br />0.040000000000006<br />Видел похожую тему с 0.000000001, но в моем случае результаты еще интересней.<br />Подскажите каким образом получить нормальный результат? <br />
			<i>23.07.2018 11:07:23, sav 312.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message32315/topic3815/</link>
			<guid>http://forum.quik.ru/messages/forum10/message32315/topic3815/</guid>
			<pubDate>Mon, 23 Jul 2018 11:07:23 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
