<?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[Bei Gleitkommazahlen , statt . verwenden]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem. In meinem Programm soll ein float eingelesen werden, wenn der Benutzer zum Beispiel 4.3 eingibt funktioniert auch alles. Allerdings nicht wenn 4,3 eingegeben wird. Da wir aber in Europa das Komma verwenden (abgesehen von einigen Ausnahmen), kann ich vom Anwender natürlich nicht erwarten, dass er einen Punkt verwendet. Wie kann ich dieses Dilemma umgehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/323288/bei-gleitkommazahlen-statt-verwenden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 06:51:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323288.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 24 Jan 2014 15:01:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:03:17 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem. In meinem Programm soll ein float eingelesen werden, wenn der Benutzer zum Beispiel 4.3 eingibt funktioniert auch alles. Allerdings nicht wenn 4,3 eingegeben wird. Da wir aber in Europa das Komma verwenden (abgesehen von einigen Ausnahmen), kann ich vom Anwender natürlich nicht erwarten, dass er einen Punkt verwendet. Wie kann ich dieses Dilemma umgehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379340</guid><dc:creator><![CDATA[henriknikolas]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:03:17 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:12:55 GMT]]></title><description><![CDATA[<p>Klar kannst du das erwarten, das machen viele Programme so.<br />
Wenn du dennoch &quot;,&quot; lesen können willst kannst du entweder versuchen es über die Locale (std::locale) gebacken zu bekommen.<br />
Dummerweise ist nicht standardisiert welche Locales es geben muss und wie diese zu heissen haben. Und die unterschiedlichen Implementierungen handhaben das dummerweise auch ganz anders.</p>
<p>Oder du kannst die Gleitkommazahlen einfach als String einlesen, dann &quot;,&quot; durch &quot;.&quot; ersetzen den String dann als Gleitkommazahl einlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379343</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:12:55 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:18:29 GMT]]></title><description><![CDATA[<p>Wenn ich dir sage, dass du den Stream entweder mit einer passenden locale imbuen musst oder mit einer selbstgestrickten locale mit einer passenden Ableitung der numpunct-Facette, reicht dir das dann als Anleitung?</p>
<p>Alternativ würde ich empfehlen, entweder deine User zu ihrem Glück zu zwingen (so würde ich es machen) oder diese Anpassungen auf einer höheren Programmebene, zum Beispiel auf Ebene einer GUI, zu machen die oft mit etwas einfacher zu benutzenden Funktionen für diese Aufgabe kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379345</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:18:29 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:17:50 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Oder du kannst die Gleitkommazahlen einfach als String einlesen, dann &quot;,&quot; durch &quot;.&quot; ersetzen den String dann als Gleitkommazahl einlesen.</p>
</blockquote>
<p>Oder die Datei 'vorbereiten' indem du in einem Editor deiner Wahl 'Suchen und Ersetzen' aufrufst und alle Komma durch Punkte ersetzt?</p>
<p>Oder ist das keine Option?</p>
<p>Gruß,<br />
-- Klaus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379346</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379346</guid><dc:creator><![CDATA[Klaus82]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:22:42 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Oder du kannst die Gleitkommazahlen einfach als String einlesen, dann &quot;,&quot; durch &quot;.&quot; ersetzen den String dann als Gleitkommazahl einlesen.</p>
</blockquote>
<p>Klaus82 schrieb:</p>
<blockquote>
<p>Oder die Datei 'vorbereiten' indem du in einem Editor deiner Wahl 'Suchen und Ersetzen' aufrufst und alle Komma durch Punkte ersetzt?</p>
</blockquote>
<p>Ich finde beide Ideen grauenhaft. Entweder richtig (Einleselogik des Streams anpassen) oder gar nicht. Diese beiden Vorschläge sind umständlich, unflexibel, fehleranfällig und gehen am eigentlichen Problem (Internationalisierung) vorbei (da sie bestenfalls Germanisieren).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379347</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:42:17 GMT]]></title><description><![CDATA[<p>Klar ist das grauenhaft. i18n in C++ ist aber grundsätzlich grauenhaft.<br />
Und da der Herr Nikolaus offensichtlich nicht viel Plan von C++ hat, wollte ich diese grauenhafte - aber einfach umzusetzende - Möglichkeit auch erwähnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379351</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:42:17 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 15:51:42 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Und da der Herr Nikolaus offensichtlich nicht viel Plan von C++ hat, wollte ich diese grauenhafte - aber einfach umzusetzende - Möglichkeit auch erwähnen.</p>
</blockquote>
<p>Ok, ein löbliches Vorhaben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> . Ich habe bei so etwas bloß immer die Befürchtung, dass man dem Anfänger damit den sprichwörtlichen goldenen Hammer in die Hand gibt (der in diesem Fall nicht einmal wirklich goldig wäre), was dann dazu führt, dass du in 10 Jahren zu ihm in die Firma wechselst und dann in dem 5 Millionen Zeilen Projekt die von ihm entwickelte Internationalisierung-durch-Suchen-und-Ersetzen weiter pflegen darfst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379352</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 24 Jan 2014 15:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 16:25:49 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Ich habe bei so etwas bloß immer die Befürchtung, dass man dem Anfänger damit den sprichwörtlichen goldenen Hammer in die Hand gibt (der in diesem Fall nicht einmal wirklich goldig wäre), was dann dazu führt, dass du in 10 Jahren zu ihm in die Firma wechselst und dann in dem 5 Millionen Zeilen Projekt die von ihm entwickelte Internationalisierung-durch-Suchen-und-Ersetzen weiter pflegen darfst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> .</p>
</blockquote>
<p>Wer nach 10 Jahren Programmiererfahrung immer noch nicht selber geschnallt hat, dass das nicht beste Art ist, dem kann sowieso nicht geholfen werden (und anderen, die diesen Thread als Ausgangslage für ihre Internationalisierung der 5 Millionen Zeilen grossen Software nehmen).</p>
<p>Andereseits finde ich es in der Tat gefährlich, die locales der iostreams als die bestmögliche Lösung anzupreisen. Mir ist kein Projekt bekannt, dass diese effektiv verwendet und es würde mich auch sehr erstaunen, wenn das der Fall wäre. Man könnte eveneutell Boost.Locale erwähnen, aber selbst das wird meines Wissens nach kaum verwendet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379362</guid><dc:creator><![CDATA[herrlöblich]]></dc:creator><pubDate>Fri, 24 Jan 2014 16:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 16:36:19 GMT]]></title><description><![CDATA[<p>herrlöblich schrieb:</p>
<blockquote>
<p>Andereseits finde ich es in der Tat gefährlich, die locales der iostreams als die bestmögliche Lösung anzupreisen. Mir ist kein Projekt bekannt, dass diese effektiv verwendet und es würde mich auch sehr erstaunen, wenn das der Fall wäre. Man könnte eveneutell Boost.Locale erwähnen, aber selbst das wird meines Wissens nach kaum verwendet.</p>
</blockquote>
<p>Nein, das wollte ich definitiv nicht als die beste Lösung anpreisen. Es ist nur die Antwort auf die Frage. Die besten Lösungen sind im zweiten Absatz meiner ersten Antwort (da steht nicht umsonst, welche der Lösungen ich wählen würde).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379363</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 24 Jan 2014 16:36:19 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Fri, 24 Jan 2014 20:37:40 GMT]]></title><description><![CDATA[<p>Mit den 2 folgenden Zeilen hat es funktioniert, vielen Dank! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<pre><code>cin.imbue(locale(&quot;&quot;));
  cout.imbue(locale(&quot;&quot;));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2379380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379380</guid><dc:creator><![CDATA[henriknikolas]]></dc:creator><pubDate>Fri, 24 Jan 2014 20:37:40 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Sat, 25 Jan 2014 10:52:50 GMT]]></title><description><![CDATA[<p>Ich würde dir trotzdem empfehlen die Nutzer zu zwingen einen Punkt zu verwenden. Gibt genug Anwendungen die das so machen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Und wenn jetzt ein User der das so gewohnt ist eine Zahl eingibt wird er vermutlich zuerst einen Punkt statt einen Komma nutzen, und damit kommt dein Programm auch wieder nicht klar. Insofern lieber die englische Version nutzen. Außerdem finde ich den Gedanken dass das Programm von der den Systemeinstellungen abhängig ist auch nicht so toll...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379456</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Sat, 25 Jan 2014 10:52:50 GMT</pubDate></item><item><title><![CDATA[Reply to Bei Gleitkommazahlen , statt . verwenden on Sat, 25 Jan 2014 13:12:09 GMT]]></title><description><![CDATA[<p>Ich bevorzuge die Zeichenersetzung Komma durch Punkt im Eingabestring. Der Anwender kann dann beide Möglichkeiten verwenden<br />
und das Programm ist unabhängig von allen Ländereinstellungen. Was sollte dagegen sprechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2379477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2379477</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Sat, 25 Jan 2014 13:12:09 GMT</pubDate></item></channel></rss>