2010-11-20 2 views
0

J'ai la zone de texte suivante nommée "results", qui contient mon résultat.Décimale non désirée dans la zone de texte

défaut de xml est: "0"

Après le calcul du fichier de classe indiqué ci-dessous, retourne-à-dire: "" "1.0"

Je ne veux pas ou « 0 » nombres entiers seulement, soit « 1 » « 2 » « 3 » etc ...

protected void addone() { 
    double val = Double.parseDouble(results.getText().toString()); 
    results.setText(Double.toString(val+1)); 
} 

protected void minusone() { 
    double val = Double.parseDouble(results.getText().toString()); 
    if (val > 0){ 
    results.setText(Double.toString(val-1)); 
    } 
} 

protected void resetit() { 
AlertDialog.Builder ab=new AlertDialog.Builder(actcountonit.this); 
ab.setMessage(Html.fromHtml("<b><font color=#ff0000> Warning.! " +"</font></b><br>Are you sure you want to reset the counter..?")); 
      ab.setPositiveButton("Reset", new android.content.DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int which) { 
         results.setText(Double.toString(0)); 
        } 
        }); 

      ab.setNegativeButton("Cancel", null); 
    ab.show(); 
} 

J'ai essayé de modifier cela pour obtenir la valeur de la zone de texte comme un int, puis retour à la zone de texte en tant que int. Chaque combinaison que j'ai essayée, j'ai des erreurs dans ces lignes.

protected void addone() { 
    double val = Double.parseDouble(results.getText().toString()); 
    results.setText(Double.toString(val+1)); 
} 

Un exemple d'une fonction comme celui-ci, où votre prenant la valeur numérique d'une zone de texte comme int, faire les calcs revenir alors comme un int « nombre entier » serait génial ..!

Cette modification du mien montre des erreurs dans l'éclipse aux deux "Int" capitalisés.

protected void addone() { 
    int val = Int.parseInt(results.getText().toString()); 
    results.setText(Int.toString(val+1)); 
} 

Enfin, il a travaillé sur:

protected void addone() { 
    int val = Integer.parseInt(results.getText().toString()); 
    results.setText(Integer.toString(val+1)); 
} 

Répondre

1

Y at-il une raison que vous utilisez double plutôt que ints? On dirait que les entiers sont ce que vous voulez vraiment utiliser ici.

+0

J'ai essayé différentes manières de construire ces événements onclick dans eclipse. mais comme je suis nouveau à android et java, je ne peux pas obtenir le bon format. –

+0

Essayez d'utiliser 'int' au lieu de' Double'. Sauf si vous faites des calculs décimaux, il n'y a aucune raison d'utiliser un double ici. – kcoppock

+0

J'ai essayé, je ne suis pas encore assez compétent avec la syntaxe. J'ai modifié une note au bas du message original. –

Questions connexes