Entwickler-Ecke

C# - Die Sprache - Zahl prüfen


vit30 - Mo 11.01.10 21:01
Titel: Zahl prüfen
Hallo!
Mit welche Funktion kann ich prüfen ob Zahl rund (ohne Komma) ist? Z.B. a = b/c.Ich mus wissen, ob ich dabei Zahl mit oder ohne Komma bekommen habe.


huuuuuh - Mo 11.01.10 21:15

der operator '%' ist der 'divisionsrest'. wenn dieser null ist, bedeutet das, das die division keine zahl mir komma als ergebnis hat. gibt vielleicht besseres, is aber so das einzige was mir einfällt...

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if (( a % b ) == 0//a und b sind die Zahlen mit denen du rechnest
{
    //Die Zahl hat kein Komma
}
else
{
    //Die Zahl hat Nachkommastellen
}


JüTho - Mo 11.01.10 22:58

Das ist eine Möglichkeit. Sie ist aber (ebenso wie fast jedes andere Verfahren) fraglich bei double-Werten, weil es dabei immer Rundungsfehler geben kann.

Eine andere Möglichkeit:

C#-Quelltext
1:
2:
3:
double d = ...
bool isInteger = (int)d == d;   // oder
isInteger = Math.Round(d) == d;

Es handelt sich um eine ganze Zahl, wenn der ganzzahlige Anteil mit der Zahl übereinstimmt.

Gruß Jürgen


vit30 - Di 12.01.10 18:48

Mit "%" hat es gut geklappt.
Danke.