Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

folgendes Problem:

das Argument einer if-Schleife wird genau dann für wahr befunden, wenn eine Gleichung eine ganze Zahl zur Lösung hat. Nun meine Frage: Gibt es eine Methode in Java, mit der ich prüfen kann, ob eine Zahl eine ganze Zahl ist? Wenn nein, wie prüfe ich es "von Hand"?

Vielen Dank

Schdeffan

Versuch es doch einmal mit einem Datentyp vergleich.

Wen es um eine 1,4 sprich Kommazahl geht brauchst du als Datentyp ja double.

Das ist dann auch dein Ansatzpunkt ind dem du vergleichst ob der zurückgegeben Wert ein int oder double Wert ist. :)

MfG Tool-Time

Das wird aber ohne weiteres nicht gehen oder ? Wenn ich eine

Gleichung habe muss ich das Ergebnis einer Variablen zuweisen .

Diese habe ich schon zuvor initialisiert . Da du davon ausgehen

musstest das es auch double sein könnte ist auch der Integerwert in einer Variablen vom Typ double .

Wie kann ich denn da einen Typvergleich machen ? Das Ergebnis

is doch ohnehin double , zumindest was den Typ angeht oder nicht ?

@Schdeffan:

Du könntest den double mit floor( double ) vergleichen. floor liefert die nächstkleinere oder gleiche Ganzzahl, was bei positiven Zahlen dem Abschneiden der Nachkommastellen entspricht.

Grundsätzlich ist es aber eher ungünstig, bei Fließkommavariablen auf Gleichheit zu testen, weil es aufgrund der Art und Weise, wie diese Zahlen im Computer gespeichert werden, zu Rundungsfehlern kommt.

das Argument einer if-Schleife

Wuste gar nicht, das es If - Schleifen gibt. :marine

Es ist zwar total gefruckelt, aber, wenn es gar nicht anders geht, könntest du das ganze in einen String casten und dann die Stellen nach dem Komma abschneiden...entspricht dieser String dann "00" ist es eine ganze Zahl...

Du könntest es relativ leicht "von Hand" prüfen, in dem du durch 1 dividierst und dir den Rest anguckst. Wenn der 0 ist, ist es eine ganze Zahl.

Den Rest einer Division bekommst du so:

1.5 % 1 = 0.5

Gruß

Mirko

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.