#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;
}
bool areTotalDigitsBeforeAndAfterDecimalPointEqual(double number) {
std::string numStr = std::to_string(number);
removeTrailingZeros(numStr);
// Find the position of the decimal point
size_t decimalPos = numStr.find('.');
// If there's no decimal point
if (decimalPos == std::string::npos) {
return false;
}
// Get the parts before and after the decimal point
std::string beforeDecimal = numStr.substr(0, decimalPos);
std::string afterDecimal = numStr.substr(decimalPos + 1);
return beforeDecimal.length() == afterDecimal.length();
}
int main() {
double number = 769.201;
if (areTotalDigitsBeforeAndAfterDecimalPointEqual(number)) {
std::cout << "yes" << std::endl;
} else {
std::cout << "no" << std::endl;
}
}
/*
run:
yes
*/