VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2537|回复: 13

CString.Format怎样控制位数?

[复制链接]

5

主题

23

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-1-13 20:00:01 | 显示全部楼层 |阅读模式
CString str;
float x=123.123456;
str.Format("%f",x);
怎样控制位数,使x的位数控制在规定的范围内呢?
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-17 13:00:01 | 显示全部楼层
str.Format("%0.3f",x);
3位小数

没测试

:)
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-17 18:36:02 | 显示全部楼层
str.Format("%5.2f",x);
5个数,小数点2位
回复

使用道具 举报

5

主题

23

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
 楼主| 发表于 2020-1-17 20:45:01 | 显示全部楼层
谢谢两位
顺便问一下,怎样得到一个赋了值的浮点型变量的位数啊?
回复

使用道具 举报

5

主题

23

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
 楼主| 发表于 2020-1-17 21:27:01 | 显示全部楼层
str.Format("%5.2f",x);
5个数,小数点2位
这个不太明白
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-19 15:36:01 | 显示全部楼层
5代表一共多少个有效数字,小数点后面的2代表小数点后面几位。
回复

使用道具 举报

5

主题

23

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
 楼主| 发表于 2020-1-19 19:27:01 | 显示全部楼层
有效数字是指小数点前的加上小数点后的吧,我试了一下str.Format("%5.2f",x);,有效数字位数并没改变,比如x=1456.22;使用上式后x还是1456.22,并没改变
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-21 09:54:02 | 显示全部楼层
str.Format("%m.nf",x);

m是小数点前面的位数
n是小数点后面的位数
回复

使用道具 举报

5

主题

23

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
 楼主| 发表于 2020-1-21 16:18:01 | 显示全部楼层
也不对啊
如果m控制小数点前面的为数,那岂不是会大大改变原来的数值?
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-22 19:09:02 | 显示全部楼层
这个不能在Visual studio 2005 C++中编译通过,在VC6.0中可以,是什么原因呀
CString str;
float x=123.123456;
str.Format("%f",x);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表