La modification d'une Chaîne décimale (2.9) en Int ou Long questions
D'accord, je suis assez nouveau à java, mais j'apprends vite(je l'espère). De toute façon, voici mon problème:
J'ai une chaîne de caractères(Par exemple, nous allons utiliser 2.9), j'ai besoin de changer ce soit de type int ou long ou quelque chose de similaire que je peux utiliser pour comparer à un autre numéro.
Autant que je sache, int ne supporte pas les décimales, je ne sais pas si longtemps l'une ou l'autre? Si non j'ai besoin de savoir ce que prend en charge les décimales.
C'est l'erreur: java.lang.NumberFormatException: For input string: "2.9"
avec les deux Entier.parseInt et Long.parseLong
De sorte que toute aide serait appréciée!
Un nombre entier est un nombre qui peut être écrit sans fractionnaire ou décimale composant en.wikipedia.org/wiki/Integer
OriginalL'auteur Tazmanian Tad | 2013-01-15
Vous devez vous connecter pour publier un commentaire.
Les deux
int
etlong
sont des valeurs entières (long
la représentation d'un entier long qui est un nombre entier avec une plus grande capacité). L'analyse échoue parce que ces types ne prennent pas en charge une partie décimale.Si vous étiez à les utiliser et à appliquer un casting vous êtes renoncer à la partie décimale d'un nombre.
Utilisation
double
oufloat
à la place.OriginalL'auteur Fritz
Vous ne pouvez pas obtenir directement
int
(ou)long
de point décimal de la valeur.Une approche est la suivante:
D'abord obtenir un double de la valeur et obtenir ensuite un int (ou) de long.
Exemple:
de sortie:
(int)Double.parseDouble("20.2")
de manière à éviter la création d'une poubelle Double objet.OriginalL'auteur kosa
int
etlong
sont les deux types de données integer 32 bits et 64 bits, respectivement. Vous pouvez utiliserfloat
oudouble
pour représenter des nombres à virgule flottante.OriginalL'auteur GriffeyDog
Que chaîne de caractères (2.9) est ni
integer
nilong
. Vous devez utiliser certaines de point décimal, par exemplefloat
oudouble
.OriginalL'auteur partlov