C ++十进制输出格式

时间:2010-02-09 01:05:01

标签: c++ formatting

我正在为文件写一个double值。使用点作为小数分隔符写入数值。我想用逗号。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

通常的方法是使用将小数分隔符设置为逗号的语言环境。如果您的计算机通常配置了这个,您可以只使用无名的语言环境:

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

答案 1 :(得分:2)

您可以在earlier question中找到答案 这基本上会改变您正在使用的流所使用的语言环境。

答案 2 :(得分:-1)

我想在图书馆cmath

有一个名为modf的函数,它接受float或double,以及指向float或double的指针,并返回一个整数。

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

所以你传入double值,它将小数部分作为整数返回,整数值存储在你传入的指针中。

然后你可以根据需要将这些文件写入文件中间,或者用中间的逗号,只需将它写成两个单独的数字即可。 浮动或双重