寫在開頭:學習 用這是一些總結的方法不喜勿噴。。。
string 系列
- 轉字元
string Transfer_character(int n)
{ //將n轉為字元
string a;
while (n)
{
a.append(1, (char)(n % 10 + 48));
n /= 10;
}
return a;
}
注意:轉換過後是倒序!
例: n = 14458 則 a = 85441
- 去零
void Remove_0(string *a)
{ //去'0'
while (a->at(a->length() - 1) == '0' && a->size() > 1)
{
a->erase(a->length() - 1, 1);
}
}
- 轉數字 (也是逆序)
int trann(string str) //將str轉為數字
{
int pow[11] = {0, 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000}; //用以更快的算冪次
int k = str.length();
int n = 0;
for (int i = 0; i < k; ++i)
{
n += (str[i] - 48) * pow[i + 1];
}
return n;
}
例: str = "77458" 則 n = 84577 可以和上文搭配著用。。。