限制浮子的大小

时间:2015-03-25 02:35:35

标签: c++

我有一个不同长度的浮点数组,并且在不同的地方有一个小数点。例如:

0.2345

52.6

208567

有没有办法强制它们都是相同的长度,所以当我将它们写入文本文件时,它们在左右两侧对齐?我目前的输出代码:

for(int i=0; i<50; i++)
    {
    fileout<< numbers[i] << "\n";
    }

fileout来自ofstream

1 个答案:

答案 0 :(得分:0)

您可以使用std::to_string来获取浮点数的字符串表示形式,并使用std::string::resize将该字符串的大小调整为您的首选长度,例如:

std::string str = std::to_string(numbers[i]);
str.resize(len, '0');
fileout << str << '\n';

如果str.size()小于len,则上述内容会附加零以使其足够长。如果str.size()大于len,则会删除字符串中的最后一位数字。