#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
// 获取小数部分的函数
std::string getDecimalPart(double num) {
std::ostringstream ss;
ss << std::setprecision(std::numeric_limits<double>::digits10 + 2) << num;
std::string s = ss.str();
size_t found = s.find('.');
if (found == std::string::npos)
return "";
return s.substr(found+1);
}
// 获取小数部分长度的函数
int getDecimalLength(double num) {
std::string decimalPart = getDecimalPart(num);
return decimalPart.size();
}
int main() {
double num;
std::cout << "请输入一个浮点数:";
std::cin >> num;
std::string decimalPart = getDecimalPart(num);
int decimalLength = getDecimalLength(num);
std::cout << "小数部分为:" << decimalPart << std::endl;
std::cout << "小数部分长度为:" << decimalLength << std::endl;
return 0;
}
#include <string>
#include <algorithm>
#include <cmath>
// 获取小数部分的函数
std::string getDecimalPart(double num) {
std::ostringstream ss;
ss << std::setprecision(std::numeric_limits<double>::digits10 + 2) << num;
std::string s = ss.str();
size_t found = s.find('.');
if (found == std::string::npos)
return "";
return s.substr(found+1);
}
// 获取小数部分长度的函数
int getDecimalLength(double num) {
std::string decimalPart = getDecimalPart(num);
return decimalPart.size();
}
int main() {
double num;
std::cout << "请输入一个浮点数:";
std::cin >> num;
std::string decimalPart = getDecimalPart(num);
int decimalLength = getDecimalLength(num);
std::cout << "小数部分为:" << decimalPart << std::endl;
std::cout << "小数部分长度为:" << decimalLength << std::endl;
return 0;
}