<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_43390"  />
<title>rulinux.net - Форум - Development - [bash] atoi()</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - [bash] atoi()</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:[bash] atoi()</title>
<link>https://rulinux.net/message.php?newsid=43390&amp;page=1#224589</link>
<guid>https://rulinux.net/message.php?newsid=43390&amp;page=1#224589</guid>
<pubDate>Sat, 20 Mar 2021 14:01:24 +0300</pubDate>
<description><![CDATA[<p>Зато арифметика будет работать. Для простых строк, состоящих только из цифр, это не имеет значение, а вот для всяких &quot;2345хуй&quot; имеет:<br><br><fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="sy0">&gt;</span> <span class="kw3">echo</span> <span class="st0">&quot;<span class="es4">$(($(atoi &quot;2345f&quot;)</span>+1))&quot;</span><br />
2346<br />
<span class="sy0">&gt;</span> <span class="kw3">echo</span> <span class="st0">&quot;<span class="es4">$((&quot;2345f&quot;+1)</span>)&quot;</span><br />
<span class="kw2">bash</span>: 2345f: слишком большое значение для основания <span class="br0">&#40;</span>неверный маркер <span class="sy0">&lt;&lt;</span>2345f<span class="sy0">&gt;&gt;</span><span class="br0">&#41;</span><br />
<span class="sy0">&gt;</span> <br />
&nbsp;</div></fieldset></p>]]></description>
</item>
<item>
<title>Re:[bash] atoi()</title>
<link>https://rulinux.net/message.php?newsid=43390&amp;page=1#224581</link>
<guid>https://rulinux.net/message.php?newsid=43390&amp;page=1#224581</guid>
<pubDate>Fri, 26 Feb 2021 07:31:19 +0300</pubDate>
<description><![CDATA[<p>Нет, потому что у VAL типом всё равно будет строка.</p>]]></description>
</item>
<item>
<title>[bash] atoi()</title>
<link>https://rulinux.net/message.php?newsid=43390&amp;page=1#224580</link>
<guid>https://rulinux.net/message.php?newsid=43390&amp;page=1#224580</guid>
<pubDate>Fri, 26 Feb 2021 07:22:10 +0300</pubDate>
<description><![CDATA[<p><fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="co0"># convert string to integer (base 10; leading zeros ignored)</span><br />
<span class="kw1">function</span> atoi <span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> len<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> res<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> ch<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">local</span> stop<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re4">$#</span> == 1 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">len</span>=<span class="co1">${#1}</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">res</span>=0<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">stop</span>=0<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> n <span class="kw1">in</span> <span class="sy0">`</span><span class="kw2">seq</span> 0 $<span class="br0">&#40;</span><span class="br0">&#40;</span>len-1<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">`</span>; <span class="kw1">do</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">ch</span>=<span class="co1">${1:$n:1}</span><br />
<span class="co0"># &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo &quot;$n: ${ch}&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re5">-n</span> <span class="st0">&quot;<span class="es3">${ch//[0-9]}</span>&quot;</span> <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">stop</span>=1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="co1">${stop}</span> <span class="re5">-eq</span> 0 <span class="br0">&#93;</span>; <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">res</span>=$<span class="br0">&#40;</span><span class="br0">&#40;</span>res<span class="sy0">*</span>10+ch<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">done</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;<span class="es3">${res}</span>&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span><br />
<span class="br0">&#125;</span><br />
&nbsp;</div></fieldset><br><br>Пример использования: <fieldset><legend>bash</legend><div class="highlight bash"><br />
<span class="re2">VAL</span>=$<span class="br0">&#40;</span>atoi <span class="st0">&quot;2435&quot;</span><span class="br0">&#41;</span><br />
&nbsp;</div></fieldset></p>]]></description>
</item>
</channel>
</rss>