我有一对向量日期和付款,看起来像这样:
std::vector<std::pair<std::string, double>> payments = { {"8/18", 0.0}, {"7/18", 771.98}, {"6/18", 0.0}, {"5/18", 771.98},
{"4/18", 771.98}, {"3/18", 771.98}, {"2/18", 0.0}, {"1/18", 3859.90},
{"12/17", 771.98}, {"11/17", 0.0}, {"10/17", 1543.96}, {"9/17", 771.98} };
我想从每个第一个元素中取出几个月,然后将其放入整数向量中,即
payment_months = [8,7,6,5,4,3,2,1,12,11,10,9]
我尝试这样做:
std::vector<int> paymentMonths;
for (auto it : payments)
{
paymentMonths.push_back(it.first[0] - '0');
}
这给了我
8 7 6 5 4 3 2 1 1 1 1 9
所以问题是我到了12月,11月和10月。有人知道如何解决这个问题吗?
答案 0 :(得分:2)
因为您的某些月份中有多个数字代表它们,所以您需要获取仅包含月份部分的日期字符串的子字符串,然后可以使用{{1}将其转换为整数}。那会让你看起来像
stoi