#include <vector>
#include <string>
using namespace std;
const double epsilon = 0.00001;
int (int x) {
if (x == 0) return 1;
int n = 0;
while (x > 0) {
n ++;
x = x / 10;
}
return n;
}
vector<int> v;
vector<int> w;
double solve() {
if (v.size() == 1)
return v[0];
double tmp = 0.0;
for (int i = 0; i < v.size()-1; i++)
tmp = tmp*1000 + v[i];
if (w[v.size()-1] <= 2) {
tmp += 0.01 * v[v.size()-1];
}
else tmp = tmp * 1000 + v[v.size()-1];
return tmp;
}
void out(double sum) {
vector<int> v;
int zhengshu = (int)sum;
int xiaoshu = ((sum - zhengshu)*100) + epsilon;
if (zhengshu == 0)
v.push_back(0);
while (zhengshu > 0){
v.push_back(zhengshu % 1000);
zhengshu = zhengshu / 1000;
}
cout << v[v.size()-1];
for (int i = v.size()-2; i >=0; i--){
cout << ".";
if (f(v[i]) == 1) cout << "00";
else if (f(v[i]) == 2) cout << "0";
cout << v[i];
}
if (xiaoshu == 0)
cout << endl;
else {
cout << '.';
if (f(xiaoshu) == 1) cout << '0';
cout << xiaoshu << endl;
}
}
int main() {
string s;
cin >> s;
int len = s.length();
int num = 0;
double sum = 0.00;
int len_num = 0;
for (int i = 0; i < len; i++) {
if ('0' <= s[i] && s[i] <= '9') {
num = num * 10 + (s[i]-'0');
len_num++;
}
if (s[i] == '.') {
v.push_back(num);
w.push_back(len_num);
num = 0; len_num = 0;
}
if ('a' <= s[i] && s[i] <= 'z') {
v.push_back(num);
w.push_back(len_num);
sum += solve();
num = 0; len_num = 0;
v.clear(); w.clear();
}
}
v.push_back(num);
w.push_back(len_num);
sum += solve();
out(sum);
return 0;
}
近期评论