我想在C ++中将std::decimal::decimal128
转换为string
。我试过这个:
int main(int argc, char** argv) {
std::decimal::decimal128 check1(0.1654689875468);
string ee;
ee=std::to_string(check1);
return 0;
}
但它会出错。我尝试了很多方法,但没有人工作。有人有想法吗?提前致谢。
答案 0 :(得分:1)
我通过创建以下功能解决了这个问题:
std::string ToString(std::decimal::decimal128 dec)
{
long double d(std::decimal::decimal128_to_double(dec));
std::ostringstream oss;
oss << std::scientific << std::setprecision(37) << d;
return oss.str();
}
稍后我可以随时使用它:
string name= ToString(std::decimal::decimal128_to_double(1.3246546787));
感谢大家的帮助。