<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>impossible to print floats with snprintf</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/68171/impossible-to-print-floats-with-snprintf</link><description>Hello, I am working on asset tracker from ncs 1.4.0 and on NRF9160DK when i try to concatenate doubles with snprintf it shows me nothing and returns a huge value (several hundred thousand) I saw this topic : but I do not have access to the settings indicated</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 12 Nov 2020 15:11:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/68171/impossible-to-print-floats-with-snprintf" /><item><title>RE: impossible to print floats with snprintf</title><link>https://devzone.nordicsemi.com/thread/279780?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 15:11:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:523414e8-bc4d-4f05-a391-48c0d543a5f2</guid><dc:creator>lecozahu</dc:creator><description>&lt;p&gt;Hi !&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;I am sincerely sorry but everything is back to normal.&lt;/span&gt; &lt;span title=""&gt;I had to change a setting which removed the bug.&lt;/span&gt;&lt;br /&gt;&lt;span title=""&gt;I still send you my code in case you are interested.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span title=""&gt;the output was:&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;&lt;span title=""&gt;position:;&lt;/span&gt; &lt;span title=""&gt;;&lt;/span&gt; &lt;span title=""&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="" title=""&gt;and my code was:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static char buffer_json[2048];
static double longitude;
static double latitude;
static double altitude;

int encode_JSON_data(char *const why)
{       
        
        int buffer_length = 0;
        buffer_json[0] = &amp;#39;\0&amp;#39;;
        
        char * sn = &amp;quot;005115541&amp;quot;;
        


        buffer_length += snprintf(buffer_json + buffer_length, sizeof(buffer_json) - buffer_length, &amp;quot;{\n&amp;quot;);
        buffer_length += snprintf(buffer_json + buffer_length, sizeof(buffer_json) - buffer_length, &amp;quot;  \&amp;quot;SN\&amp;quot;: \&amp;quot;%d\&amp;quot;,\n&amp;quot;, sn);
        buffer_length += snprintf(buffer_json + buffer_length, sizeof(buffer_json) - buffer_length, &amp;quot;  \&amp;quot;what\&amp;quot;: \&amp;quot;%s\&amp;quot;,\n&amp;quot;, why);
        buffer_length += snprintf(buffer_json + buffer_length, sizeof(buffer_json) - buffer_length, &amp;quot;  \&amp;quot;position\&amp;quot;: \&amp;quot;%f;%f;%0.1f\&amp;quot;\n&amp;quot;, latitude, longitude,altitude);
        buffer_length += snprintf(buffer_json + buffer_length, sizeof(buffer_json) - buffer_length, &amp;quot;}&amp;quot;);

        // v&amp;#233;rifications de base
        if ((buffer_length &amp;gt;= (sizeof(buffer_json) - 1)) || buffer_json[buffer_length - 1] != &amp;#39;}&amp;#39;)
        {
            LOG_ERR(&amp;quot;JSON buffer overload.&amp;quot;);
            return 0;
        }else 
        {
            return 1;
        }

}&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class="text-wrap tlid-copy-target"&gt;
&lt;div class="result-shield-container tlid-copy-target"&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;Thank you for your reply&lt;/span&gt;&lt;/span&gt;&lt;span class="tlid-translation-gender-indicator translation-gender-indicator"&gt;&lt;/span&gt;&lt;span class="tlid-trans-verified-button trans-verified-button"&gt;&lt;/span&gt;,&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;Best regards, &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="tlid-translation translation" lang="en"&gt;&lt;span class="" title=""&gt;Lecozahu&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: impossible to print floats with snprintf</title><link>https://devzone.nordicsemi.com/thread/279707?ContentTypeID=1</link><pubDate>Thu, 12 Nov 2020 12:29:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94e148aa-b4df-4539-96ea-b5c56e3c97b6</guid><dc:creator>Heidi</dc:creator><description>&lt;p&gt;Hi!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Could you provide a code snippet and the corresponding output?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The ticket you referenced is about the nRF5 SDK, and you&amp;#39;re using NCS, which is why you don&amp;#39;t have those configurations.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Note: a usual pitfall with snprintf is to design code that assumes the function returns the number of characters written to the buffer. The number returned is actually just the number of characters in the resulting string. If the resulting string is longer than &lt;em&gt;size(buf)&amp;nbsp;- 1&lt;/em&gt; characters, the remaining characters are discarded and not stored but counted for in the functions return value.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h1&gt;&lt;/h1&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The FPU should be&amp;nbsp;enabled by its dependencies (CPU_HAS_FPU &amp;amp;&amp;amp; ARM).&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>