我想將基於字符串的數字轉換爲浮點數。不幸的是,我得到的是舍入值或截斷值。我怎樣才能解決這個問題。C++將字符串轉換爲浮點數
std::string text = "199102.92";
float v = std::stof(text);
std::cout<<v<<std::endl;
這導致199103 即使我使用setprecision和固定的,那麼它只會影響輸出流,但傳遞到浮點型變量的值保持199103.我如何可以訴諸這個問題。
我也使用C++中的stringstream,但結果似乎是相同的,除非它顯示良好。
我需要保留小數達2位。
我已經使用stof,stod,他們都做同樣的事情。
您可能會認爲我正在使用貨幣。
std :: stof()使用當前語言環境確定用作小數點的字符。也許在你的語言環境中,它不是點,而是例如逗號? – Rene