2010-02-09 63 views
2

我正在向文件寫入一個double值。該數值用一個點作爲小數點分隔符寫入。我想用逗號。我該怎麼做?C++十進制輸出格式

+0

請發表你的代碼,而無需代碼來引用很難提出建議 – 2010-02-09 01:11:11

回答

3

通常的方法是將小數點分隔符設置爲逗號的語言環境。如果你的機器配置爲一般,你可能只需要使用無名的區域設置它:

std::cout.imbue(std::locale("")); 
std::cout << 12345.67; 
-1

我認爲在圖書館CMATH

有一個叫做MODF函數,它接受一個浮動或雙面,和一個指針浮動或雙面,並且返回一個整數。

double intPart; 
double fractPart; 
fractPart = modf(doubleValue, &intPart); 

所以你在雙值傳遞,返回小數部分爲整數,並整數值存儲在你傳入的指針。

然後,您可以寫下這些以文件不管你想用中間的逗號或其他什麼,只要把它寫成兩個單獨的數字即可。 float or double

2

你可以在earlier question 找到答案這基本上改變了你正在使用的流使用的語言環境。