<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Transformation script для string]]></title><description><![CDATA[<p dir="auto">Каким образом можно сменить формат данных Data Collection из строкового в цифровой? Например, мне приходит с датчика температура в виде string ("20.0" или "23.4", к примеру), но мне нужно получить из этого цифру (float скорее всего), чтобы иметь возможность обрабатывать значение в threshold'е. Есть ли какая-нибудь функция навроде str2float или есть способ это сделать по-другому?</p>
<p dir="auto">Извините, если такой вопрос уже был, но я не нашёл ответа, перепробовав все возможные поисковые запросы.<br />
Нашел лишь следующее:</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/victor" aria-label="Profile: victor">@<bdi>victor</bdi></a> said in <a href="/post/1704">Alerts not being made for a single node</a>:</p>
<blockquote>
<p dir="auto">For thresholds on strings - you can use "equal", "not equal", "like", and "not like" operations in thresholds for string DCIs. Or use transformation script to transform them into numbers if it's possible.</p>
</blockquote>
<p dir="auto">, но там к сожалению не сказано, каким должен быть transformation script, чтобы "transform them into numbers".</p>
<p dir="auto">Спасибо.</p>
]]></description><link>https://forum.netxms.org/topic/431/transformation-script-для-string</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 07:40:52 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/431.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 28 Jul 2008 08:59:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Transformation script для string on Wed, 30 Jul 2008 08:36:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/victor" aria-label="Profile: victor">@<bdi>victor</bdi></a> said in <a href="/post/2115">Transformation script для string</a>:</p>
<blockquote>
<p dir="auto">Достаточно просто поставить тип данных float для данного DCI. Если полученная строка содержит число, то будет произведена конвертация, иначе будет подставлено значение 0.</p>
</blockquote>
<p dir="auto">О, отлично, спасибо.</p>
]]></description><link>https://forum.netxms.org/post/2137</link><guid isPermaLink="true">https://forum.netxms.org/post/2137</guid><dc:creator><![CDATA[Indigo]]></dc:creator><pubDate>Wed, 30 Jul 2008 08:36:47 GMT</pubDate></item><item><title><![CDATA[Reply to Transformation script для string on Mon, 28 Jul 2008 16:04:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/indigo" aria-label="Profile: indigo">@<bdi>indigo</bdi></a> said in <a href="/post/2109">Transformation script для string</a>:</p>
<blockquote>
<p dir="auto">Каким образом можно сменить формат данных Data Collection из строкового в цифровой? Например, мне приходит с датчика температура в виде string ("20.0" или "23.4", к примеру), но мне нужно получить из этого цифру (float скорее всего), чтобы иметь возможность обрабатывать значение в threshold'е. Есть ли какая-нибудь функция навроде str2float или есть способ это сделать по-другому?</p>
</blockquote>
<p dir="auto">Достаточно просто поставить тип данных float для данного DCI. Если полученная строка содержит число, то будет произведена конвертация, иначе будет подставлено значение 0.</p>
]]></description><link>https://forum.netxms.org/post/2115</link><guid isPermaLink="true">https://forum.netxms.org/post/2115</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Mon, 28 Jul 2008 16:04:04 GMT</pubDate></item><item><title><![CDATA[Reply to Transformation script для string on Mon, 28 Jul 2008 12:46:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/anth0ny" aria-label="Profile: anth0ny">@<bdi>anth0ny</bdi></a> said in <a href="/post/2111">Transformation script для string</a>:</p>
<blockquote>
<p dir="auto">хм... я тож получаю температуры с серверов... но както не заморачивался на такое...<br />
а можно поподробнее, зачем нужно это превращение?</p>
<p dir="auto">Threshold'ы и без этого прекрасно работают.</p>
</blockquote>
<p dir="auto">А вот у меня не работают. Поясню. Мне нужно отслеживать, чтобы температура в помещении была от 20 до 25 градусов. Но так как температура приходит в виде string (так ее датчик отдаёт по SNMP), то в threshold'е я могу использовать только "equal", "not equal", "like" и "not like", иначе не срабатывает. Но мне нужны такие вещи как "greater" или "less", т.е. неравенство, а они доступны только для цифровых форматов данных, как integer или float.<br />
Может быть, конечно, можно сравнить строковое представление цифрового значения, но как это сделать, мне не понятно.</p>
]]></description><link>https://forum.netxms.org/post/2113</link><guid isPermaLink="true">https://forum.netxms.org/post/2113</guid><dc:creator><![CDATA[Indigo]]></dc:creator><pubDate>Mon, 28 Jul 2008 12:46:26 GMT</pubDate></item><item><title><![CDATA[Reply to Transformation script для string on Mon, 28 Jul 2008 12:27:40 GMT]]></title><description><![CDATA[<p dir="auto">хм... я тож получаю температуры с серверов... но както не заморачивался на такое...<br />
а можно поподробнее, зачем нужно это превращение?</p>
<p dir="auto">Threshold'ы и без этого прекрасно работают.</p>
]]></description><link>https://forum.netxms.org/post/2111</link><guid isPermaLink="true">https://forum.netxms.org/post/2111</guid><dc:creator><![CDATA[Anth0ny]]></dc:creator><pubDate>Mon, 28 Jul 2008 12:27:40 GMT</pubDate></item></channel></rss>