2010-11-05 4 views
3

J'essaie d'ajouter deux nombres à partir de champs EditText. Jusqu'à présent, j'ai le code ci-dessous qui, je crois, convertit le champ EditText 'pos1_deg' & 'pos2_deg' en entiers deg1 & deg2.Problèmes de conversion d'entier en chaîne

deg1 = Integer.parseInt(pos1_deg.getText().toString()); 
deg2 = Integer.parseInt(pos2_deg.getText().toString()); 

Je pourrais alors faire ce qui suit pour les ajouter ensemble

degSum = deg1 + deg2 

Et puis le registre degSum détient la somme de deg1 & 2. Est-ce correct jusqu'à présent?

Ensuite, pour revenir au 'Edit' resultText, j'ai besoin de changer l'entier degSum en une chaîne. Je pensais que la façon correcte était d'utiliser le code ci-dessous:

result.setText(degSum.toString()); 

Cependant, je reçois un « ne peut être invoqué toString() sur le type primitif int » erreur. Qu'est-ce que je fais mal?

Un grand merci pour toute aide

+0

quelle langue est-il? – Anpher

+0

La langue est ...? –

+0

Il y avait une autre question il y a une heure qui donne une réponse: [Comment convertir un entier en String] (http://stackoverflow.com/questions/4105331/how-to-convert-from-int-to-string) –

Répondre

11

(En supposant que c'est Java ...)

Le message est correct. Les valeurs primitives (telles que int) ne peuvent pas avoir de méthodes appelées sur eux car ils ne sont pas des objets. Les méthodes associées sont plutôt inscrits sur la classe Integer statiquement, donc au lieu, vous devez utiliser:

result.setText(Integer.toString(degSum)); 

(Cette méthode prend également un second argument optionnel qui vous permet de spécifier la base que vous voulez que la sortie du numéro, de sorte que vous peut obtenir la représentation hexadécimale en appelant Integer.toString(degSum, 16) par exemple. Probablement pas ce que vous avez besoin droit maintenant, mais bon de l'esprit.)

+0

A travaillé un régal. Merci beaucoup – Entropy1024

0

Avez-vous essayé:

result.setText(String.valueOf(deg_sum)); 
0
  1. vous pouvez essayer de faire String.valueOf (deg_sum)

  2. Vous pouvez rendre votre degSum non int, mais Integer, donc la méthode toString sera disponible.

1

Lorsque vous concatânez une chaîne en une chaîne non-chaîne, le résultat est une chaîne.

par exemple.

int deg1 = 5; 
int deg2 = 4; 
result.setText("" + deg1 + deg2): // passes in "45" (a String) 
result.setText("" + (deg1 + deg2)): // passes in "9" (a String) 
result.setText(deg1 + deg2); // passes in 9 (an int), compile error