2017-07-08 125 views
0

我想將C++中的std::decimal::decimal128轉換爲string。我試過這個:如何將std :: decimal :: decimal128轉換爲C++中的字符串

int main(int argc, char** argv) { 
    std::decimal::decimal128 check1(0.1654689875468); 
    string ee; 
    ee=std::to_string(check1); 

    return 0; 
} 

但它給出了一個錯誤。我嘗試了很多方法,但沒有人工作。任何人有想法?提前致謝。

+0

*「in C++」* Eh,不,這還不是C++。你有沒有參考你的特定實施? – DeiDei

+0

這是一個TS for C++ – Justin

+0

@DeiDei對不起,我不明白你的迴應。 – emadalamoudi

回答

0

我已經通過創建以下功能解決了這個問題:

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)); 

感謝所有幫助。

相關問題