Comment vérifier si un nombre est divisible en c#?

J'ai besoin de savoir comment faire cette procédure.

calculation1: 1/4 = 0,25
calculation2: 1/8 = 0,125
calculation3: 47/183 = 0,25683060109289617486338797814207......
calculation4: 58/889 = 0,06524184476940382452193475815523......
calculation5: 1/5 = 0,2

Les résultats des calculs 1, 2 et 5, une courte résultat, pas de périodes ou et interminable chaîne de chiffres. Les résultats des calculs 3 et 4 sont très long et très compliqué.

Comment puis-je vérifier dont le calcul est "facile" et donne une "courte".

J'ai essayé et ça a donné un résultat faux pour vous...
comme vous pouvez le voir, les résultats des calculs ont le type de données double dans mon application.

static bool IsInt(double x)
    {
        try
        {
            int y = Int32.Parse(x.ToString());
            return true;
        }
        catch
        {
             return false;
        }
    }

J'espère que c'est clair ce que je demande.

Ce que Tout informaticien Devez Savoir à Propos de l'Arithmétique à virgule Flottante
Définir précisément vos critères pour un certain nombre d'être "facile" et un numéro de "pas facile". Votre code sera à suivre en direct de la mode. Le problème n'est pas de codage, mais exprimant précisément à vos besoins.
Demandez-vous si le résultat est un rationnel v. nombre irrationnel? Ou tout simplement est-il d'un numéro court (elles comprennent toutes les décimales, donc je ne suis pas sûr de ce que tu veux dire par pas de période)
Tous ses exemples sont rationnels, même s'il est d'oublier la résolution limitée de double.
Puisque toutes les valeurs à virgule flottante ne peut pas exprimer les suites infinies, par définition, tous les float/double est rationnel et a un nombre fixe de [maximale] chiffres après la virgule.

OriginalL'auteur Abi | 2012-08-23