我的兩個操作數都在TCHAR
類型中,我將它們轉換爲double
,因爲我的操作數可以是整數或雙精度。當我做1.5 + 1
我有2.500000
。但我想要2.5
。我知道如何使用printf
解決問題,但我需要使用我的結果MessageBox
。我該如何解決它?浮點格式的小數點
double result = _wtof(firstOperand) + _wtof(secondOperand);
wstring ans = to_wstring(result);
MessageBox(NULL, ans.c_str(), L"Result", MB_OK);
哦,太感謝你了! – rel1x
如果您的操作數是TCHAR,那麼您可能需要'_sntprintf_s',以便您的代碼可以編譯爲ANSI或寬模式。 't'代表'TCHAR'。 '_s'後綴表示「安全」,這意味着該函數將緩衝區的大小作爲參數來卸載調用者的一些溢出檢查。 (它並不完全安全,但更安全。)使流解決方案具有足夠的靈活性來處理'TCHAR'是可能的,但更難。 –