2010-02-09 69 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 找到答案这基本上改变了你正在使用的流使用的语言环境。