Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
|
24.10.14, 14:11
|
#1
|
Newbie
Registriert seit: Jan 2010
Beiträge: 79
Bedankt: 27
|
[Java]Zwei Zahlen zu einer Kommazahl machen
Hallo,
ist es möglich zwei Zahlen zb. Integer 10 und 10 zu einer ganzen Kommazahl zu machen, also 10.10?
Gruß
Speedreini93
|
|
|
24.10.14, 15:35
|
#2
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.857
Bedankt: 1.700
|
Natürlich. Die Art und weiße wie du das machst hängt ein bisschen davon ab welchen Datentyp du am ende brauchst.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
24.10.14, 15:52
|
#3
|
Newbie
Registriert seit: Jan 2010
Beiträge: 79
Bedankt: 27
|
Am Ende brauche ich ein Integer. Muss mit der Zahl 10.10 + 0.5 machen und den Endwert als Integer ausgeben.
|
|
|
24.10.14, 16:01
|
#4
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.857
Bedankt: 1.700
|
Prinzipiell kannst du das z.B. so machen.
Code:
int z1=10;
int z2=10;
int digits_z2=0;
double z3=0;
digits_z2=(int) Math.log10(z2)+1;
z3 = z1 + (z2/Math.pow(10, digits_z2));
Aber irgendwie klingt das so als hättest du schon früher einen Designfehler gemacht.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
Folgendes Mitglied bedankte sich bei spartan-b292:
|
|
24.10.14, 16:01
|
#5
|
Newbie
Registriert seit: Oct 2010
Beiträge: 96
Bedankt: 80
|
Zitat:
Zitat von Speedreini93
Am Ende brauche ich ein Integer. Muss mit der Zahl 10.10 + 0.5 machen und den Endwert als Integer ausgeben.
|
Das wird nicht funktionieren!
Ein Integer ist nicht in der Lage Kommazahlen darzustellen hierzu musst du einen float/double verwenden (oder einen eigenen Datentypen).
Ein vermutlich nicht ganz so schöner weg wäre dieser hier:
Code:
int a = 10;
int b = 10;
double d = Double.parseDouble(a+"."+b);
Es gibt sicherlich noch bessere Wege als den hier...
|
|
|
Die folgenden 2 Mitglieder haben sich bei Delta538 bedankt:
|
|
24.10.14, 16:11
|
#6
|
Newbie
Registriert seit: Jan 2010
Beiträge: 79
Bedankt: 27
|
ja das Problem ist. Ich darf keine Double.parseDouble oder Math.pow verwenden.
Ich darf nur System.out.print(); ,Integer und Operatoren verwenden.
Weil ich sowas noch nicht in der Vorlesung hatte. Ich dachte es gibt einfachere Lösungen.
Nja, dann muss ich es irgendwie weiter versuchen. Vielleicht finde ich eine Lösung.
|
|
|
24.10.14, 16:16
|
#7
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.857
Bedankt: 1.700
|
Math.pow kannst du auch durch eine Schleife ersetzen. Ist zwar bescheuert aber das für ne Vorlesung ist...
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
24.10.14, 16:18
|
#8
|
Newbie
Registriert seit: Jan 2010
Beiträge: 79
Bedankt: 27
|
ja und das Problem ist ich darf keine Schleifen machen. -.-
Das ist so schlecht. Ich darf kaum etwas verwenden.
Das macht es noch schwerer.
|
|
|
24.10.14, 19:12
|
#9
|
Anfänger
Registriert seit: Aug 2014
Beiträge: 1
Bedankt: 0
|
Ohne Schleifen ist das Problem nicht vernünftig zu lösen. Ich schlage vor, du machst das einfach so:
Code:
int i1 = 10;
int i2 = 10;
int divisor = 100; //divisor um i2 zur nachkommastelle zu machen
float addValue = 0.5f;
float result = (float)i2 / divisor;
result = i1 + result;
result += addValue;
System.out.println((int)result);
der wert für divisor hätte auch ausgerechnet werden können. Ohne schleifen wäre das aber Bullshit.
|
|
|
26.10.14, 21:38
|
#10
|
Echter Freak
Registriert seit: Apr 2009
Beiträge: 2.157
Bedankt: 2.843
|
Soll evtl. einfach nur die Ausgabe wie eine Kommazahl aussehen?
|
|
|
30.10.14, 13:10
|
#11
|
Newbie
Registriert seit: Jan 2010
Beiträge: 79
Bedankt: 27
|
wir sollten es so machen:
int betrag = 117;
int zinssatz = 3;
int zins = (zinssatz + 100);
int euro = betrag * zins / 100;
int cent = betrag * zins % 100;
System.out.print(euro);
System.out.print(',');
System.out.println(cent);
|
|
|
01.11.14, 10:20
|
#12
|
Echter Freak
Registriert seit: Apr 2009
Beiträge: 2.157
Bedankt: 2.843
|
Ja, wie vermutet. Die Ausgabe soll nur so aussehen.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.
().
|