关于保留小数问题
做了个计算器,结果是以消息提示框方式出现的,想根据用户输入想保留的小数位数进行动态保留,请问要怎么实现啊? Format(_T("%.3lf"),number)中的那个3不能换成一个整形变量吗?
2012-07-20 18:52
int a = 3;
printf("%.*lf\n", a, 0.123456);
2012-07-20 21:22
2012-07-21 00:01
2012-07-21 01:40
2012-07-25 00:14
程序代码:inline CString CDataBaseAssist::FormatString(const double fValue, int nPrecision, BOOL bElideZero/* = FALSE*/)
{
CString sValue = _T("");
sValue.Format("%.*f", nPrecision, fValue);
if (bElideZero && nPrecision > 0)
{
sValue.TrimRight("0");
sValue.TrimRight(".");
}
return sValue;
}

2012-07-25 18:24
TCHAR szFormat[7]; // %.xxlf\0
wsprintf(szFormat, TEXT("%%.%ulf"), a); // a:[1u-19u]
Format(szFormat,number);

2012-07-25 21:07