funkcja isdigit() dla double.

0

Witam. Pomysł był taki:

(...)

 for(;;)
      {
      cout <<"Wprowadz mase planety[kg]\t";               //pomocnicza to jest struktura
      cin >> pomocnicza.planeta;
      if (!isdigit (pomocnicza.planeta[0]))                       //pomocnicza.planeta  jest tablica znakowa
      cout << "Niepoprawna masa planety, wprowadz ponownie.";
      else
      break;
      }

Użytkownik wprowadza masę planety tak długo dopóki nie będzie się ona zaczynała od liczby, taki mały detektor wprowadzanej treści. Problem w tym, że pomocnicza.masa jest wartością double a funkcja isdigit działa tylko na zmiennych typu int.
Jak sobie z tym poradzić?
Jeśli zastosuję jakiś operator rzutowania i zmienię double na int przed wywołaniem funkcji to stracę tą dokładność double?

0
double masa_planety;

while(!(cin >> masa_planety))                      
{
    cout << "Niepoprawna masa planety, wprowadz ponownie.";
    cin.clear();
    cin.ignore(INT_MAX,'\n');
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1