标签:str length pos 字符 amp inline ack new back
//将数字字符串转为千分位格式
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;
}
?
标签:str length pos 字符 amp inline ack new back
原文地址:http://www.cnblogs.com/skiing886/p/7652146.html