我想在 C++ 中将 char * 转换为 double。但在此之前,我想检查 char * 是否是正确的双精度数。所以我做了这个代码:
bool Tools::m_CheckIfDouble(char *p_nb)
{
if (p_nb == NULL)
return (false);
for (unsigned int v_i = 0; p_nb[v_i]; v_i++)
if ((p_nb[v_i] < '0' || p_nb[v_i] > '9') && (p_nb[v_i] != '.' && p_nb[v_i] != '-'))
return (false);
return (true);
}
但我不知道如何检查 char * 是否有双重溢出(如果 char * 的值大于 DBL_MAX 的值或小于 DBL_MIX 的值)。