C-ben double konvertálása stringgé

C-ben double konvertálása stringgé
2011-03-16T12:13:41+01:00
2011-03-16T15:12:42+01:00
2022-11-21T04:10:37+01:00
slaszlo
Sziasztok!

Az lenne a problémám, hogy lebegőpontos számot kell stringgé konvertálnom úgyhogy tizedes határolónak vesszőt vagy pontot tegyen be a Windows regional beállításainak megfelelően.
Környezet, Windows XP, Visual Studio 2008 Express.
A sprintf és a printf függvénnyel próbálkoztam (ahogy a példa kódban látható), de sajnos mindig tizedes pontot tesz be, pedig a help szerint tudnia kéne a Windows beállítás szerinti konvertálást.
Próbáltam _sprintf_l függvényt is ahol a location-t meg lehet adni, de ez sem működött.


#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { double num=12.345; char buffer[100]; sprintf(buffer,"%0.2f",num); printf("Szam: %0.2f",num); return 0; }

A válaszokat előre is köszönöm!
Mutasd a teljes hozzászólást!
Ha a setlocale() második paramétere üres sztring, akkor az oprendszer aktuális locale-jét fogja bekapcsolni. (Alapból a "C" nevű locale érvényes, ami pont úgy működik, mint a locale-okat nem támogató régi C függvények.)

További infó itt.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd