注册 登录
编程论坛 VC++/MFC

拜求VC6问题

Owen_ni 发布于 2011-11-10 09:08, 1123 次点击
void CHelloDlg::OnOK()
{
    CString csPlus;                    //定义字符串变量   
    CString csSummand;
    double nPlus;
    double nSummand;
    double nRet;
    m_PlusNumber.GetWindowText(csPlus);        //获取编辑框控件中的文本   
    m_Summand.GetWindowText(csSummand);
    nPlus = atof(csPlus.GetBuffer(0));        //将编辑框文本转换为实数
     csPlus.ReleaseBuffer();
    nSummand = atof(csSummand.GetBuffer(0));
     csSummand.ReleaseBuffer();
    nRet = nPlus + nSummand;            //进行加法运算
    char chRet[20]="";
    gcvt(nRet,20, chRet);                //将结果转换为字符串
    m_Result.SetWindowText(chRet);
}
算出的结果
1.1+2.2=3.3000000000000003
不知为什么?望指教。
13 回复
#2
hahayezhe2011-11-10 15:21
用大数算法吧
#3
Owen_ni2011-11-10 15:46
我是新手,能否详细指教?多谢!
#4
ligl2011-11-11 22:45
double精度问题,double nPlus=1.1;实际上是1.1000000000000001
看你要显示小数点后面几位了,如果要求不高,可以把chRet设置小点
#5
gxu8882011-11-14 10:31
回复 2楼 hahayezhe
哪位高手有microsoft visual C软件?谢谢!QQ576027318
#6
Owen_ni2011-11-18 13:16
#include    <stdlib.h>
#include    <stdio.h>
#include    <conio.h>
#include    "fstream.h"
#include    <string.h>
#include    <iostream.h>
#include    <vector>

int main()
{
    fstream file1;
    file1.open("f:\scheme.txt",ios::in|ios::out,0);
    file1<<"I LiveYou!";
    file1.close();
    return 0;
}

error C2872: 'fstream' : ambiguous symbol
为什么?

#7
Owen_ni2011-11-23 15:48
VC6 如何读取文件中指定的内容,比如我只想读取 SYS.TXT 文件中第一列的数据,并转存到其他变量,在程序中用来参与运算。

SYS.TXT 中的内容如下:
1600;       系统紧急停止加速度设置(mm/s^2)        
160;        系统最大速度设置(mm/s)               
10;         X轴轴螺间距设置(mm) (pulses)         
10000;      X轴每转脉冲数设置                     
1;          X轴缩放比例                           
32;         Y轴轴螺间距设置(mm) (pulses)         
10000;      Y轴每转脉冲数设置                     
1;          Y轴缩放比例                           
0.0035;     拐弯时间,单位:s,取值范围0.001---0.01s
1;          是否使用光栅尺1Axis-1|2Axis-2|3Axis-4|4Axis-8
2000;       X光栅每毫米脉冲数
2000;       Y光栅每毫米脉冲数
#8
九九张2011-12-02 15:44
回复 5楼 gxu888
已给你发过去了!
#9
xiaohei822011-12-02 16:08
以下是引用Owen_ni在2011-11-23 15:48:32的发言:

VC6 如何读取文件中指定的内容,比如我只想读取 SYS.TXT 文件中第一列的数据,并转存到其他变量,在程序中用来参与运算。

SYS.TXT 中的内容如下:
1600;       系统紧急停止加速度设置(mm/s^2)        
160;        系统最大速度设置(mm/s)               
10;         X轴轴螺间距设置(mm) (pulses)         
10000;      X轴每转脉冲数设置                     
1;          X轴缩放比例                           
32;         Y轴轴螺间距设置(mm) (pulses)         
10000;      Y轴每转脉冲数设置                     
1;          Y轴缩放比例                           
0.0035;     拐弯时间,单位:s,取值范围0.001---0.01s
1;          是否使用光栅尺1Axis-1|2Axis-2|3Axis-4|4Axis-8
2000;       X光栅每毫米脉冲数
2000;       Y光栅每毫米脉冲数
你好,我也是做机械数控加工的,能聊聊吗?我QQ929923982
#10
BianChengNan2011-12-02 16:18
以下是引用Owen_ni在2011-11-10 09:08:46的发言:

void CHelloDlg::OnOK()  
{
    CString csPlus;                    //定义字符串变量     
    CString csSummand;
    double nPlus;
    double nSummand;
    double nRet;
    m_PlusNumber.GetWindowText(csPlus);        //获取编辑框控件中的文本     
    m_Summand.GetWindowText(csSummand);
    nPlus = atof(csPlus.GetBuffer(0));        //将编辑框文本转换为实数
     csPlus.ReleaseBuffer();
    nSummand = atof(csSummand.GetBuffer(0));
     csSummand.ReleaseBuffer();
    nRet = nPlus + nSummand;            //进行加法运算
    char chRet[20]="";
    gcvt(nRet,20, chRet);                //将结果转换为字符串
    m_Result.SetWindowText(chRet);
}
算出的结果
1.1+2.2=3.3000000000000003
不知为什么?望指教。
这个是浮点数存储运算问题
#11
Owen_ni2011-12-23 10:27
我用向导建立了一个单文档,在文档视类中添加了一个 EDIT 控件;
又增加了一个对话框,在新建的对话框中添加了一个按钮和一个 EDIT 控件,
如何实现点击按钮时把对话框中的 EDIT 中的文本在视类的 EDIT 中显示?
各位大侠指教!
#12
Owen_ni2012-01-16 11:59
VC cfile 怎么实现保存的文件用记事本打开显示乱码?
#13
Owen_ni2012-01-16 12:39
vc 如何保存文件使记事本打开乱码
#14
Owen_ni2012-02-29 18:26
各位大侠,福建泉州、厦门 哪里有VC 短期培训的?
多谢了!
1