如何在字符串中放入一段时间后读取2位数字?而不是3.146543,现在是3.14。
这是我目前的代码:
string toCurrency(double &input) {
string output = "$";
string numberString = to_string(input);
for (auto singleChar : numberString) {
output += singleChar;
if (singleChar = '.') {
}
}
return output;
提前致谢!
答案 0 :(得分:2)
您可以使用旧的for循环:
string toCurrency(double &input) {
string output = "$";
string numberString = to_string(input);
for (int i = 0; i < numberString.size(); ++i) {
output += numberString[i];
if (numberString[i] == '.') {
output += numberString[i+1];
output += numberString[i+2];
break;
}
}
return output;
}
答案 1 :(得分:1)
你可以简单地创建一个bool,并在找到点“。”时将其变为true。和一个计数器来计算你在点后传递的字符数:
string toCurrency(double &input) {
string output = "$";
string numberString = to_string(input);
int counter = 0;
bool dot = false;
for (auto singleChar : numberString) {
output += singleChar;
if (singleChar == '.')
dot = true;
if (dot) counter++;
if (counter==3) break;
}
return output;
}