Toon posts:

[C++] van komma naar punt

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een programma dat meetwaarden leest uit een bestand en deze in een array stopt en daarna verwerkt. Nu zijn deze meetwaarden gegeven als kommagetallen bvb 1,33346 , maar C++ werkt met punten en wil 1.33346. Weet iemand hoe ik van de array met meetwaarden waar komma's instaan (in plaats van punten) een nieuwe array kan maken met punten erin, zodat C++ er mee kan werken?

Verwijderd

Als je de meetwaarden als string in de array gooit, dan kun je daarvoor nog even de komma vervangen door de punt met de welbekende functie :) Natuurlijk is het ook mogelijk de meetwaarden eerst op te slaan en daarna de komma's om te zetten in punten.

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

De opgeslagen waardes hebben een seperating aanduiding. Komma of punt hangt af van je eigen landinstellingen in windows.

Je kunt dit zelf wel instellen in je source zelf. Je kan specificeren welke NumberFormat gebruikt word.

Verwijderd

Het fraaiste is om met SetLocal naar de NL instellingen te schakelen, waarden in te lezen, te converteren en weer teruggeschakelen.

Tweede (iets minder fraai, maar effectief)
C++:
1
2
3
4
5
while (*waarde_string)
           if (*(waardestring + i) == ',')
                  *(waardestring + i) == '.';

waarde = atof (waardestring);

[ Voor 7% gewijzigd door drm op 22-06-2004 12:51 ]


Verwijderd

arghh :(

C++:
1
2
3
4
5
6
7
while (*(waarde_string + i))
{
     if ...
             ....

      i++;
}

modbreak[list]• Gebruik de edit button
• gebruik [code] ... [/code] tags voor het uitlijnen van je codeDan hoef je je niet zo op te winden.

[ Voor 70% gewijzigd door drm op 22-06-2004 12:52 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Er is geen SetLocal functie in standaard C++.
Wat er wel is is std::numpunct<char>::decimal_point

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

setlocale is toch een basis C functie ... :?
Pagina: 1