ist a teiler von b? mit a und b gebrochene zahlen.

Status
Nicht offen für weitere Antworten.

dermoritz

Bekanntes Mitglied
ich hab mal wieder probleme mit gebrochenen zahlen. ich würde gerne wissen ob eine zahl b eine zahl a ohne rest teilen kann. zum beispiel teilt 0.02 die zahl 0.5 denn 25*0.02=0.5.

die anzahl der stellen dieser zahlen weiß ich nicht! es könnte also auch 0.0005 und 0.00002 sein. im moment verwende ich überall Double als typ.

gibt es einen weg zu fragen: ist der rest =0 oder b ist teiler von a? den rest mit 0 vergleichen ist ja prinzipiell problematisch.

danke im voraus
 
S

SlaterB

Gast
entweder durcheinander teilen und (Rundungsfehler bedenken) zufrieden sein, wenn ungefähr eine ganze Zahl rauskommt,
oder alle Zahlen mit 10 multiplizieren, bis sie alle auf int zu casten sind und dann modulo
 

SchonWiederFred

Bekanntes Mitglied
dermoritz hat gesagt.:
zum beispiel teilt 0.02 die zahl 0.5 denn 25*0.02=0.5.
Mit IEEE754 Typen (float, double) wirst Du da nicht weit kommen. 0.5 kann man exakt als float darstellen, 0.2 dagegen nicht. Erzähl mal mehr über Deine Anwendung, in welchem Kontext treten diese Zahlen auf?
 

dermoritz

Bekanntes Mitglied
danke, dass man nicht double/float verwenden darf hab ich nun wieder schmerzlich erfahren. (bei einer db hab ich auchmal float als format gewählt :-|)

mit big decimal bin ich tatsächlich weitergekommen. man sollte aber den string konstrukto verwenden. also danke für den tip

da ich nicht alles auf bigdecimal umstellen will (im momnet is mir der aufwand zu hoch) hab ich eine funktionierenden workaround:

BigDecimal(doublevalue.toString());

das ergibt in meinem fall (hoffentlich) immer präzise werte, da die "doublevalue" werte auch über bigdecimal enstehen.
direkt den double reinstecke funzt wie gesagt nicht.


letztendlich frag ich mich wofür braucht man überhaupt float und double, sobald man auch nur primitive operationen machen will kommt man damit spätestens beim ersten if in teufels küche.
 

kleiner_held

Top Contributor
Ein Workaround BigDecimal(doublevalue.toString()); wird meiner Meinung nach auch nur eingeschraenkt funktionieren, da es nur der interne Formater von Double ist, der bei der Umwandlung in einen String die Nachkommastellen so weit wie moeglich verkuerzt (also in gewisser Weise rundet). Details dazu stehen in der JavaDoc Double.toString(double)
Code:
double d1 = 2.3;
double d2 = 0.23;
d2 *= 10.0;
System.out.println(d1);
System.out.println(d2);

Gleitkommazahlen wie float und double waren immer nur eine pragmatische Loesung um reelle Zahlen naeherungsweise in einer festgelegten Anzahl von Bits abzubilden. Fuer bestimmte Bereiche der Mathematik sind sie meistens ungeeignet, in anderen Anwendungen wie z.B: Grafik- oder Audioberechnungen sind sie dagegen unverzichtbar, vor allem da sich die Rechenoperationen auch komplett in Hardware abbildenlassen.
 

xysawq

Bekanntes Mitglied
Code:
double a;		//beliebige Zahl
double b;		//beliebige Zahl
double c;
int ic;

c = a/b;
ic = (int)c;

if((c-ic) > 0)
{
	System.out.println("ist kein Teiler");
}
else
{
	System.out.println("ist Teiler");
}

Aber da double manchmal ungenau sind (wie kleiner_held bereits im Beispiel zeigte) kannst du c auch "abrunden" indem du es wie folgt machst:

Code:
c = ((int)(c*100000)/100000.);

damit wird auf 5 Stellen nach dem Komma gerundet, bzw. abgeschnitten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Größter gemeinsamer Teiler: mein Code Java Basics - Anfänger-Themen 6
V Beliebige Dreistellige Zahl Teiler finden Java Basics - Anfänger-Themen 4
KogoroMori21 Größten gemeinsamen Teiler finden Java Basics - Anfänger-Themen 7
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
L Größter gemeinsamer Teiler Java Basics - Anfänger-Themen 9
B größter gemeinsamer teiler Java Basics - Anfänger-Themen 6
K größter gemeinsamer Teiler berrechnen, funktioniert nur bei bestimmten Zahlen Java Basics - Anfänger-Themen 2
X Perfekte Zahlen mit Teiler ausgeben! Java Basics - Anfänger-Themen 29
S Zahl mit maximaler Anzahl von Teiler Java Basics - Anfänger-Themen 2
U Aufgabe - Teiler Java Basics - Anfänger-Themen 12
B Teiler einer Zahl ermitteln Java Basics - Anfänger-Themen 12
S Teiler ermittlen - Array erweitern? Java Basics - Anfänger-Themen 14
0 Anzahl der (primen) Teiler einer Zahl? Java Basics - Anfänger-Themen 6
G Ganzzahligen Teiler einer Eingabezahl k Java Basics - Anfänger-Themen 12
C Teiler einer ganzen Zahl Java Basics - Anfänger-Themen 2
Y alle teiler einer zahl ausgeben Java Basics - Anfänger-Themen 23
J Teiler einer beliebigen Zahl ermitteln. Java Basics - Anfänger-Themen 19
G Ganzzahl oder nicht + gemeinsamen Teiler finden Java Basics - Anfänger-Themen 9
B größten gemeins. Teiler m. Euklidischen Algorith. nachbilden Java Basics - Anfänger-Themen 2
T Kombination von 3 Zahlen Java Basics - Anfänger-Themen 5
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
K Warum werden immer noch doppelte Zahlen ausgegeben ? Java Basics - Anfänger-Themen 13
M negative Zahlen bei Intervallen Java Basics - Anfänger-Themen 10
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
M 3 Zahlen miteinander vergleichen Java Basics - Anfänger-Themen 18
J Taschenrechner mit mehr als 2 Zahlen. Java Basics - Anfänger-Themen 18
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
B Alle Zahlen finden, die 3 bestimmte Ziffern enthalten? Java Basics - Anfänger-Themen 9
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
B Threads Counter mit ungeraden Zahlen Java Basics - Anfänger-Themen 32
JavaBeginner22 Java 2 Zufalls zahlen generieren. Java Basics - Anfänger-Themen 11
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
M Stream mit den ersten n natürlichen Zahlen Java Basics - Anfänger-Themen 4
D Größtes Palindrom Produkt aus zwei dreistelligen Zahlen Java Basics - Anfänger-Themen 60
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
sserio Befreundete Zahlen Java Basics - Anfänger-Themen 7
AhmadSlack Verzweigungen zahlen multiplizieren Java Basics - Anfänger-Themen 4
padde479 Array Multiplikation der ersten n Zahlen Java Basics - Anfänger-Themen 7
U Lotto-Zahlen App Java Basics - Anfänger-Themen 34
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
W Wie ziehe ich von einer bestimmten Zahl, Zahlen ab, bis mein Ergebnis null beträgt? Java Basics - Anfänger-Themen 10
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
K Erste Schritte "Taschenrechner" zeigt keine Komma Zahlen an. Java Basics - Anfänger-Themen 8
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
H Häufigkeit von Zahlen ermitteln Java Basics - Anfänger-Themen 23
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
H Zahlen kürzen Java Basics - Anfänger-Themen 2
ansystin Teilerfremde Zahlen ausgeben + Zahlenausgabe speichern Java Basics - Anfänger-Themen 3
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
jhCDtGVjcZGcfzug Fibonacci Zahlen rekursiv und iterativ Java Basics - Anfänger-Themen 21
H Eingegebene Zahlen mit Array ausgeben Java Basics - Anfänger-Themen 18
I 12 Spalten von jeweils 30 Zahlen in Konsole ausgeben Java Basics - Anfänger-Themen 6
R Array mit Unter- und Obergrenze ganze Zahlen dazwischen erscheinen nicht Java Basics - Anfänger-Themen 1
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
mhmt_03 dafür sorgen, dass im JTextfield nur zahlen eingebbar sind Java Basics - Anfänger-Themen 9
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
H Alle Geraden zahlen bis 10 ausgeben Java Basics - Anfänger-Themen 11
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
L Mit Zahlen im String rechnen Java Basics - Anfänger-Themen 19
G Java eingelesene Zahlen Java Basics - Anfänger-Themen 2
D Zahlen werden falsch gekürzt :? Java Basics - Anfänger-Themen 27
H Ungerade Zahlen ausgeben von 1 bis 1000 Java Basics - Anfänger-Themen 8
C Positive und negative Zahlen mit Regex extrahieren Java Basics - Anfänger-Themen 8
N Wörter und Zahlen nach speziellen Wörtern ausgeben Java Basics - Anfänger-Themen 11
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
L Java Int-Array, Zahlen sortieren Java Basics - Anfänger-Themen 8
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
X Wie kann ich Zahlen in einzelne Zifferne zerlegen? Java Basics - Anfänger-Themen 3
J 10 positive Zahlen eingeben Java Basics - Anfänger-Themen 10
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
M Zahlen erraten Java Basics - Anfänger-Themen 7
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
D auch negative Zahlen sotieren Java Basics - Anfänger-Themen 18
M Warum berechnet mein Primzahlenprog zu hohe Zahlen nicht? Java Basics - Anfänger-Themen 20
W Bell Zahlen Java Basics - Anfänger-Themen 2
H Min und Max von Zahlen Java Basics - Anfänger-Themen 10
der_Schokomuffin Fehler bei Zufallsgeneration von Zahlen Java Basics - Anfänger-Themen 7
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben