|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 这个数字为什么要进位呢
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
934
人关注过本帖
标题:
这个数字为什么要进位呢
只看楼主
加入收藏
震中地带
等 级:
职业侠客
威 望:
2
帖 子:171
专家分:359
注 册:2012-3-26
第
11
楼
收藏
得分:0
回复 9楼 TonyDeng
谢谢!确实是不知道这个功能
2012-06-04 22:33
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
12
楼
收藏
得分:10
printf()本身有四舍五入功能。但是需要注意,即使printf()没有这种功能,但按1楼的算法这样做,要留意陷阱:乘以100的时候,防止数据溢出!虽然较小的数字通常不会溢出,但作为算法,是要考虑的,要么在代码上面注释清楚。更严重的隐患,可能在计算机储存浮点数的机制上,乘除100,人看起来问题不大,但计算机未必,有可能失真的。
[
本帖最后由 TonyDeng 于 2012-6-4 23:35 编辑
]
授人以渔,不授人以鱼。
2012-06-04 23:33
举报帖子
使用道具
赠送鲜花
a6717079
等 级:
新手上路
帖 子:11
专家分:0
注 册:2010-4-17
第
13
楼
收藏
得分:0
回复 2楼 icysky
我本来只想截取前两位,不知道%.2f有进位的功能。
[
本帖最后由 a6717079 于 2012-6-5 21:29 编辑
]
2012-06-05 21:24
举报帖子
使用道具
赠送鲜花
a6717079
等 级:
新手上路
帖 子:11
专家分:0
注 册:2010-4-17
第
14
楼
收藏
得分:0
回复 7楼 震中地带
这个本来是想编一个算法,对double数据类型进行四舍五入,结果保留两位有效小数。
思路是这样的:将数据乘100,加0.5是看是否需要进位,然后得到的数强制取整,再除以100,就得到想要的2位小数数据。
1
2012-06-05 21:38
举报帖子
使用道具
赠送鲜花
a6717079
等 级:
新手上路
帖 子:11
专家分:0
注 册:2010-4-17
第
15
楼
收藏
得分:0
回复 12楼 TonyDeng
那我不想让它四舍五入,只截取呢,改怎么写?
2012-06-05 21:40
举报帖子
使用道具
赠送鲜花
shanshan3003
等 级:
论坛游民
帖 子:53
专家分:66
注 册:2011-8-29
第
16
楼
收藏
得分:0
也就是说强制转换就不是四舍五入,而这样运算就是四舍五入了,真的是啊!
2012-06-05 21:57
举报帖子
使用道具
赠送鲜花
shanshan3003
等 级:
论坛游民
帖 子:53
专家分:66
注 册:2011-8-29
第
17
楼
收藏
得分:0
强制转化了
2012-06-05 21:58
举报帖子
使用道具
赠送鲜花
怪敏宝宝
等 级:
新手上路
帖 子:5
专家分:6
注 册:2012-6-6
第
18
楼
收藏
得分:0
a = 123.453643
b = 12345.8643
c = 123.458643
保留小数点后两位不就是123.46了
2012-06-06 18:02
举报帖子
使用道具
赠送鲜花
18
2/2页
1
2
快速回复:
这个数字为什么要进位呢
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.031657 second(s), 7 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved