首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • CString 转 为 double 问题 [已结贴,结贴人:hmis168]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hmis168
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-21 21:23:13 楼主
    CString 转 为 double  问题
    CString strTemp ="2224.343" ;
    double dje = atof((char *)(LPCTSTR)strTemp) ;

    为什么 dje 总是2.000
    为什么 2005 VC  double dje = atof(strTemp) ; 这样写不行呢?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • akirya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 6

    发表于:2008-08-21 21:29:031楼 得分:5
    atof改为_ttof
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tiankongzhiying
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 22:03:092楼 得分:5
    先用atof函数将数据转换成float类型,然后在将其转换成double
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • greatws
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 23:18:183楼 得分:5
    首先先确认工程是不是宽字符

    double dje;
    CString strTemp = _T("2224.343");
    _stscanf(strTemp, _T("%f"), &dje);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Devang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 23:26:244楼 得分:0
    这里只有VC6,double dje = atof(strTemp) ; dje = atof((char *)(LPCTSTR)strTemp) ; 都没问题

    试试这个: dje=atof(strTemp.GetBuffer(0));//CString to double
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jimmytom
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 00:13:195楼 得分:5
    #include <iostream>
    #include "afx.h"

    int main()
    {
    CString strTemp = "2224.343";
    double dje = atof((char *)(LPCTSTR)strTemp);

    std::cout < < dje;
    std::cin.get();
    return 0;
    }

    用你的程序编译,输出均没有错误,输出2224.34精度有点丢失。不过没有错误。
    atof接受const char*类型的变量,不用再两次强制转换,第一次弄成const的,第二次再弄成char *的,没必要吧。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved