Freedomer 发表于 2007-12-8 14:39

如何保留小数点后面的0

有谁知道用VC++编程时,怎么样才能控制一个double数据类型的数的小数点后面的0的位数??
例如,我输入的是1.00;
输出时,它只会输出1,但我想要1.00的效果.

求助~~~~~~~~~~~~~~~

zaijzhgh 发表于 2007-12-9 09:55

Win32还是MFC下?没有说清楚哦。

Freedomer 发表于 2007-12-9 10:56

MFC下,使用UpdateData(false)时,在编辑框显示结果....

zaijzhgh 发表于 2007-12-9 23:07

显示的时候是用CString类型来显示的吧?如果是的话可以自己在CString后加上小数点和零啊。如果是用CString::Format的方法来做的话,就类似C语言咯。打个比方:
CString str;
intd = 1;
str.Format("%.2d",d);
MessageBox(str);
不过呢,不知道你的小数点后的零是计算的时候就没有还是显示的时候没有的。看情况对待……

gyCai 发表于 2007-12-9 23:52

console or win32?

Freedomer 发表于 2007-12-10 00:44

原帖由 zaijzhgh 于 2007-12-9 23:07 发表 https://www.gdutbbs.com/images/common/back.gif
显示的时候是用CString类型来显示的吧?如果是的话可以自己在CString后加上小数点和零啊。如果是用CString::Format的方法来做的话,就类似C语言咯。打个比方:
CString str;
intd = 1;
str.Format("%.2d",d);
...
我设置结果为double型输出,CString类型我也想过,不过这样复杂了很多啊,还有更简单的吗?
就好像c那样直接在输出时%.2f之类的

zaijzhgh 发表于 2007-12-10 18:05

把代码贴出来看一下……

Freedomer 发表于 2007-12-11 15:16

原帖由 zaijzhgh 于 2007-12-10 18:05 发表 https://www.gdutbbs.com/images/common/back.gif
把代码贴出来看一下……
我要做一个简单计算器,按照pc自带的计算器,按下0.0000它会显示这样,但我做的那个计算器按下这个数的话显示的是0,
只有当后面出现除0外的数字,它才会显示出来,例如0.00001,当按到1时,它才会把整个数显示出来.而之前总是0
现在我想解决的是如何达到pc计算器的按0.000效果 ....




ps:代码太多,不知贴那部分合适,因此作了上面说明,能够理解吧

[ 本帖最后由 Freedomer 于 2007-12-11 15:19 编辑 ]

zaijzhgh 发表于 2007-12-13 12:27

我想是你处理按钮的时候出现问题了吧?要不然怎么会在有非零的数才会出现?试一下这样做:每次按下一个按钮的时候都更新你的显示框,用一个CString类型变量保存你的按下的按钮数字。然后显示的时候,变量的内容是什么,那么显示框的内容就是什么了。可以用AfxMessageBox();来查看你的CString变量内容的。
PS:正在做可视化课程设计?
页: [1]
查看完整版本: 如何保留小数点后面的0