none
CString转double的_ttol问题? RRS feed

  • 问题

  • CString a("123.123434");

    double b=_ttol(a);

    结果:b=123.00000000000000

    为什么不是123.123434,小数部分没有,我用的VC++2008

    请教


    • 已编辑 zs111 2011年9月21日 8:51
    2011年9月21日 8:22

答案

  • CString a("123.123434");
    double b=_tcstod(a, NULL);
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Rob Pan 2011年9月27日 8:39
    2011年9月21日 12:53
    版主
  • ttol是将字符串转成长整型数

    其中'l'代表long

    所以你的代码小数部分会被截取

    _tstof将字符串转化为浮点数

    • 已标记为答案 Rob Pan 2011年9月27日 8:39
    2011年9月22日 0:25

全部回复

  • CString a("123.123434");
    double b=_tcstod(a, NULL);
    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    • 已标记为答案 Rob Pan 2011年9月27日 8:39
    2011年9月21日 12:53
    版主
  • ttol是将字符串转成长整型数

    其中'l'代表long

    所以你的代码小数部分会被截取

    _tstof将字符串转化为浮点数

    • 已标记为答案 Rob Pan 2011年9月27日 8:39
    2011年9月22日 0:25