这里加个0.5是什么作用?
这是一个关于人民币的程序,很简单
#include<iostream.h>
class RMB{
public:
RMB(double value = 0.0);
operator double(){ return yuan + jf / 100.0; }
void display(){ cout << (yuan + jf / 100.0) << endl; }
protected:
unsigned int yuan; // 这是元
unsigned int jf; // 这是分
};
RMB::RMB(double value)
{
yuan = value;
jf = ( value - yuan ) * 100 + 0.5; // 就是这个0.5,是啥意思????
}
void main()
{
RMB d1(2.0), d2(1.5), d3;
d3 = RMB((double)d1 + (double)d2);
d3 = d1 + d2;
d3.display();
}
问题点数:20、回复次数:17Top
1 楼SnowFoxMM(雪山小狐)回复于 2004-12-01 13:22:39 得分 0
upTop
2 楼hcj2002(流浪者·躬自厚而薄责于人 )回复于 2004-12-01 13:26:53 得分 0
四舍五入??
Top
3 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2004-12-01 13:32:20 得分 0
晕死,这不是清华那本书上的嘛,但是0。5我记得不干吗了,也许是逻辑问题吧。Top
4 楼SnowFoxMM(雪山小狐)回复于 2004-12-01 13:34:32 得分 0
加0.5怎么能起到四舍五入作用呢?Top
5 楼danky()回复于 2004-12-01 13:36:02 得分 0
你所帖出的都是类的函数部份,我们都不知道函数中所引用的类的成员变量是什么数据类型是很难做出准确判断的,只能猜测而已!如果用的是浮点型的话应该出于精度的问题吧!Top
6 楼MCR()回复于 2004-12-01 13:36:15 得分 0
四舍五入Top
7 楼yjh1982(血精灵)回复于 2004-12-01 13:36:38 得分 0
精度调节?Top
8 楼SnowFoxMM(雪山小狐)回复于 2004-12-01 14:03:48 得分 0
还有什么不清楚呢?这是完整的程序!
我想知道加0.5的作用和原理Top
9 楼zhaopeng3(菜鸟)回复于 2004-12-01 14:07:17 得分 15
四舍五入
0.4+0.5 = 0.9,取整后为0
0.5+0.5 = 1.0,取整后为1Top
10 楼libbyliugang()回复于 2004-12-01 15:02:24 得分 0
四舍五入 没错Top
11 楼iiml(哦,我明白了)回复于 2004-12-01 15:06:57 得分 0
四舍五入
Top
12 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2004-12-01 15:11:37 得分 0
哦,难怪最近RMB汇率起伏不定的~Top
13 楼260005065(宁独遗与世,亦当皓首穷经,但有所得,无悔无怨。)回复于 2004-12-01 15:16:05 得分 0
就是四舍五入啊,有什么奇怪的??
double*100+0.5转换成unsigned int 啊。Top
14 楼sunlu_eric(天使预备役)回复于 2004-12-01 15:17:45 得分 0
是进位!!!Top
15 楼freeskypx(吸血鬼伯爵)回复于 2004-12-01 15:38:15 得分 0
是四舍五入
yuan = value;
jf = ( value - yuan ) * 100 + 0.5;
Top
16 楼freeskypx(吸血鬼伯爵)回复于 2004-12-01 15:43:04 得分 5
看这两句就可以啦
yuan = value;//取整数部份
jf = ( value - yuan ) * 100 + 0.5;//小数点后第三位四舍五入
return yuan + jf / 100.0; //将jf还原成小数,加到Yuan后面
是将Value小数点后第三位四舍五入Top
17 楼jalang(冻天)回复于 2004-12-01 15:52:20 得分 0
去尾知道吧.浮点型转整型就是用的去尾法.所以如果要用四舍五入就要加0.5Top
相关问题
- !在这里有什么作用?
- using在这里是什么作用
- 这句话放这里起什么作用
- $ORACLE_HOME/bin/svrmgrl,这里svrgmrl的具体作用是什么?
- 运算符重载这里起什么作用
- <%!private int j=0;%> 这里!的作用是什么?
- comp = new Component(this);这里的this到底起了什么作用?
- 我是cb爱好者,请问高手'"+Edit1->Text+"'语句中++双加号和""双引号在这里其什么作用??为什么要这么做呢??
- select a.facctcode from a2005001laccount a ,a2005001fcwvch b where a.facctcode=*b.fkmh *在这里有什么作用?
- MulDiv()什么作用?




