我對編碼很陌生,在過去的幾天里,我一直在探索 WINAPI,并試圖學習一些新的東西,所以我決定做一個計算器(說實話,比我預期的要難)。
現在我已經得到了所有的作業,但剩下的唯一問題是,當我試圖使用計算器時,我總是得到一個看起來像這樣的結果。22 22=44.0000000。我是否有辦法使編輯框只在需要時顯示小數,或者我在函式中做錯了什么?
我把其中一個計算函式(用于乘法)放在下面:
我把其中一個計算函式(用于乘法)放在下面。
void multiply() {
WCHAR A[20], B[20] 。
GetWindowText(hOutputBot, A, 20)。
GetWindowText(hOutputTop, B, 20)。
double Aa = std::stof(A)。
double Bb = std::stof(B)。
double Res = Bb * Aa;
std::wstring s = std::to_wstring(Res)。
LPCWSTR str = s.c_str()。
SetWindowTextW(hOutputBot,str)。
uj5u.com熱心網友回復:
當你使用std::to_string()函式時,自定義格式化并不是真的可用。相反,你可以做的是使用標準的格式化輸出運算子將你的資料寫入一個字串流,然后從其中讀取你的std::string:
// std::wstring s = std::to_wstring(Res);/span>
std::wstringstream ss; ss << Res; ///將值寫入字串流。
std::wstring s; ss >> s; // ... then read it into string.
//...
LPCWSTR str = s.c_str()。
(注意,你需要#include <sstream>。)
double型別輸出的默認格式類似于在C風格的printf()函式中使用%lg格式指定符;然而,你可以使用<iomanip>標準頭中的各種函式添加進一步定制-如果你有此愿望。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/320313.html
標籤:
上一篇:Win32API。CreateFont/SelectObject在不同的電腦上不能正常渲染文本
下一篇:在Opencv中查找點之間的距離
