//将数字字符串转为千分位格式
inline
string
number_to_currency(string
str, bool
bDot = true)
{
string
newStr = "";
int
count = 0;
if (str.find(".") == string::npos) //
{
for (int
i = str.length() - 1; i >= 0; i--)
{
string
tmp = "a";
tmp[0] = str.at(i);
if (count % 3 == 0 && count != 0)
{
newStr = tmp + "," + newStr;
}
else
{
newStr = tmp + newStr;
}
count++;
}
if (bDot)
newStr = newStr + ".00"; //自动补小数点后两位
}
else
{
for (int
i = str.find(".") - 1; i >= 0; i--)
{
string
tmp = "a";
tmp[0] = str.at(i);
if (count % 3 == 0 && count != 0)
{
newStr = tmp + "," + newStr; //碰到3的倍数则加上","号
}
else
{
newStr = tmp + newStr; //逐个字符相接起来
}
count++;
}
newStr = newStr + (str + "00").substr((str + "00").find("."), 3);
}
return
newStr;
}