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 より小さい場合)。