我想製作一個小程序,需要一個字符串,然後以三個字符間隔向它添加逗號,例如貨幣金額將如何格式化。 (即1000變成1,000,10000變成10,000)。如何使用美國貨幣等逗號格式化字符串?
這是我的嘗試,到目前爲止,幾乎原理:
#include <string>
#include <iostream>
using namespace std;
int main() {
string a = "123456789ab";
int b = a.length();
string pos;
int i;
for (i = b - 3; i >= 0; i-=3) {
if (i > 0) {
pos = "," + a.substr(i,3) + pos;
}
}
cout << pos;
return 0;
}
與樣本串輸出爲:
,345,678,9ab
看來它不希望搶得頭1至3個字符。我的代碼出了什麼問題?
當你逐步循環時,你的調試器告訴你什麼? – dutt