代码之家  ›  专栏  ›  技术社区  ›  RK-

如何在VC++CSTATE中验证有效的整数和浮点数

  •  3
  • RK-  · 技术社区  · 15 年前

    有人能告诉我一种有效的方法来验证CString对象中的数字是有效整数还是浮点数吗?

    1 回复  |  直到 15 年前
        1
  •  6
  •   Frédéric Hamidi    14 年前

    使用 _tcstol() _tcstod() :

    bool IsValidInt(const CString& text, long& value)
    {
        LPCTSTR ptr = (LPCTSTR) text;
        LPTSTR endptr;
        value = _tcstol(ptr, &endptr, 10);
        return (*ptr && endptr - ptr == text.GetLength());
    }
    
    bool IsValidFloat(const CString& text, double& value)
    {
        LPCTSTR ptr = (LPCTSTR) text;
        LPTSTR endptr;
        value = _tcstod(ptr, &endptr);
        return (*ptr && endptr - ptr == text.GetLength());
    }
    

    编辑:

    推荐文章