#include <iostream>
#include <string>
std::string removeTrailingZeros(std::string &str) {
// Find the position of the last non-zero character
size_t end = str.find_last_not_of('0');
// Erase all characters after the last non-zero character
if (end != std::string::npos) {
str.erase(end + 1);
} else {
// If the string is all zeros, erase the entire string
str.clear();
}
return str;
}
int main() {
double number = 5342769.2081;
std::string numStr = std::to_string(number);
removeTrailingZeros(numStr);
// Find the position of the decimal point
size_t decimalPos = numStr.find('.');
// Get the parts before and after the decimal point
std::string beforeDecimal = numStr.substr(0, decimalPos);
std::string afterDecimal = numStr.substr(decimalPos + 1);
std::cout << "Left digits: " << beforeDecimal << "\n";
std::cout << "Right digits: " << afterDecimal << "\n";
}
/*
run:
Left digits: 5342769
Right digits: 2081
*/