编程论坛
注册
登录
编程论坛
→
C++教室
关于保留小数问题
哈哥
发布于 2012-07-20 18:52, 541 次点击
做了个计算器,结果是以消息提示框方式出现的,想根据用户输入想保留的小数位数进行动态保留,请问要怎么实现啊? Format(_T("%.3lf"),number)中的那个3不能换成一个整形变量吗?
6 回复
#2
pangding
2012-07-20 21:22
不知道你那是什么函数。如果是 printf 的话,可以用 * 号来表示,之后需要再传一个参数。比如
int
a =
3
;
printf(
"
%.*lf\n
"
, a,
0.123456
);
#3
哈哥
2012-07-21 00:01
用format函数呢?我用的是CString类型
#4
pangding
2012-07-21 01:40
不懂微软那套东西。上网查查呗,应该有手册才对吧。
#5
两条线
2012-07-25 00:14
学习
#6
peach5460
2012-07-25 18:24
程序代码:
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;
}
#7
lz1091914999
2012-07-25 21:07
TCHAR szFormat[
7
];
//
%.xxlf\0
wsprintf(szFormat, TEXT(
"
%%.%ulf
"
), a);
//
a:[1u-19u]
Format(szFormat,number);
1