String模板

邊緣座標發表於2020-11-01

寫在開頭:學習 用這是一些總結的方法不喜勿噴。。。

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 可以和上文搭配著用。。。

相關文章