Button soll eine Rechnung machen, aber wie?

  • 11 Antworten
  • Letztes Antwortdatum
A

AppDeveloper

Neues Mitglied
0
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 :)
 
Danke für deine schnelle Antwort hat geholfen
 
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 :)
 
Von welchem Datentyp ist die Variable "w" und "erg"?

Mfg

pootney

Gesendet von meinem Nexus 7 mit der Android-Hilfe.de App
 
Zuletzt bearbeitet:
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);
    }

}
 
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();
 
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:
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:
Vielen Dank klappt alles :))
 
ahh achso, ich dachte du wolltest den Wert einlesen oder so :D
 
Zurück
Oben Unten