我的两个操作数都在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'是可能的,但更难。 –