Button soll eine Rechnung machen, aber wie?

  • 11 Antworten
  • Neuester Beitrag
Diskutiere Button soll eine Rechnung machen, aber wie? im Android App Entwicklung im Bereich Betriebssysteme & Apps.
A

AppDeveloper

Neues Mitglied
Hi Leute,
Hab ein Problem und zwar will ich eine App schreiben die so ähnlich wie ein Taschenrechner ist nur das man nicht selber rechen muss sondern ein Button soll das für einen übernehmen.

Also man muss in ein EditText Feld ein Wert eingeben und dann auf ein Button drücken und dieser Button soll dann z.B. den wert durch 100 mal 3 rechnen und das Ergebnis soll dann in einem seperaten Feld auftauchen.

Jetzt meine Frage geht das überhaupt und wenn ja wie?

Hoffe mir kann jemand helfen :)
 
A

AppDeveloper

Neues Mitglied
Danke für deine schnelle Antwort hat geholfen
 
A

AppDeveloper

Neues Mitglied
Ich hab da noch ein Problem und zwar will ich eine Komma zahl mal nehmen doch wenn ich ein Komma oder Punkt mache streich er mir das Rot an :/ Wie kann ich denn mit einer Komma zahl rechnen also wie kann ich w*1,856 nehmen? problem.JPG

Sorry bin noch Programmieranfänger :)
 
pootney

pootney

Stammgast
Von welchem Datentyp ist die Variable "w" und "erg"?

Mfg

pootney

Gesendet von meinem Nexus 7 mit der Android-Hilfe.de App
 
Zuletzt bearbeitet:
A

AppDeveloper

Neues Mitglied
Die Variable w steht für den Wert also das EditText-Feld und erg für das Ergebnis EditText-Feld. Hier mein kompletter code:

Code:
public class MainActivity extends Activity implements OnClickListener {
    EditText wert, ergebnis;
    Button kt;
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        wert=(EditText)findViewById(R.id.wert);
        ergebnis=(EditText)findViewById(R.id.ergebnis);
        kt=(Button)findViewById(R.id.kt);
        
        kt.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        float w=Float.parseFloat(wert.getText().toString());
        float erg=0;
        
        if(v==kt){
           erg= w*1.856;
        }
        ergebnis.setText(""+erg);
    }

}
 
C

cocojack42

Ambitioniertes Mitglied
du kannst mit der Klasse "DecimalFormat" und "DecimalFormatSymbols" erstellen was welcher ist. Ich glaube das ist was du meinst.

bsp:
Code:
FecimalFormatSymbols s = new DecimalFormatSymbols();
s.setDecimalSeperator(',');
DecimalFormat format = new DecimalFormat("0.##");
format.setDecimalFormatSymbols(s);

format.parse(....).floatValue();
 
A

AppDeveloper

Neues Mitglied
Danke für die schnelle Antwort :) kannst du mir noch sagen was ich falsch gemacht habe oder wie und wo ich den code einfügen muss :))
problem.JPG
 
Zuletzt bearbeitet:
Vacutainer

Vacutainer

Erfahrenes Mitglied
Mit nem kleinen "f" hinter den 1.856, also
Code:
if(v==kt){
           erg= w*1.856f;
        }
sollte es klappen.
Erklärung:
1.856 wird als Double angenommen, kann also nicht einfach mit den Floats, die du da erstellt hast verrechnet werden.
Durch das kleine "f" hinter einer Zahl wird die Zahl dann zu Float und alles ist gut.

Achja: Kommazahlen werden in Java mit einem Punkt geschrieben, also 1.856 und nicht 1,856
 
Zuletzt bearbeitet:
A

AppDeveloper

Neues Mitglied
Vielen Dank klappt alles :))
 
C

cocojack42

Ambitioniertes Mitglied
ahh achso, ich dachte du wolltest den Wert einlesen oder so :D