<?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[Frage zu zwei Varianten der Zahlenkonvertierung]]></title><description><![CDATA[<p>Hallo!<br />
Ich schreibe an einer Klasse, die mit sehr großen Zahlen rechnet. Dabei ist der Zuweisungsoperator so überladen, dass einem Objekt meiner Klasse eine Zahl eines elementaren Typs zugewiesen werden kann. Die Objekte meiner Klasse können zudem über std::string initialisiert werden.<br />
Ich habe jetzt zwei Möglichkeiten gefunden, eine Zahl in einen String umzuwandeln. Welche würdet ihr verwenden? Welche Vor/Nachteile gibt es?</p>
<pre><code class="language-cpp">//Variante 1
template&lt;typename T&gt; Klasse&amp; operator = (const T&amp; var)
{
    std::ostringstream Str;
    Str &lt;&lt; std::setprecision(400) &lt;&lt; var;
    std::string tmp(Str.str());
    return ((*this)=tmp);
}

//Variante 2
template&lt;typename T&gt; Klasse&amp; operator = (const T&amp; var)
{
    std::ostringstream Str;
    Str.precision(400);
    Str &lt;&lt; std::fixed &lt;&lt; zahl;
    std::string tmp(Str.str());
    return ((*this)=tmp);
}
</code></pre>
<p>Anmerkung: Die große Präzision von 400 verwende ich, um auch wirklich alle Nachkommastellen von zB long double zu berücksichtigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240738/frage-zu-zwei-varianten-der-zahlenkonvertierung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 20:53:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240738.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 May 2009 21:01:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu zwei Varianten der Zahlenkonvertierung on Sun, 10 May 2009 21:01:40 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich schreibe an einer Klasse, die mit sehr großen Zahlen rechnet. Dabei ist der Zuweisungsoperator so überladen, dass einem Objekt meiner Klasse eine Zahl eines elementaren Typs zugewiesen werden kann. Die Objekte meiner Klasse können zudem über std::string initialisiert werden.<br />
Ich habe jetzt zwei Möglichkeiten gefunden, eine Zahl in einen String umzuwandeln. Welche würdet ihr verwenden? Welche Vor/Nachteile gibt es?</p>
<pre><code class="language-cpp">//Variante 1
template&lt;typename T&gt; Klasse&amp; operator = (const T&amp; var)
{
    std::ostringstream Str;
    Str &lt;&lt; std::setprecision(400) &lt;&lt; var;
    std::string tmp(Str.str());
    return ((*this)=tmp);
}

//Variante 2
template&lt;typename T&gt; Klasse&amp; operator = (const T&amp; var)
{
    std::ostringstream Str;
    Str.precision(400);
    Str &lt;&lt; std::fixed &lt;&lt; zahl;
    std::string tmp(Str.str());
    return ((*this)=tmp);
}
</code></pre>
<p>Anmerkung: Die große Präzision von 400 verwende ich, um auch wirklich alle Nachkommastellen von zB long double zu berücksichtigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708711</guid><dc:creator><![CDATA[Ideensuche]]></dc:creator><pubDate>Sun, 10 May 2009 21:01:40 GMT</pubDate></item></channel></rss>