J'ai une lecture d'entrée dynamiquement changeante à partir d'un fichier. Les numéros sont Int
ou Double
. Pourquoi Scala imprime .0
après tous les numéros Double
? Existe-t-il un moyen pour Scala de l'imprimer de la même manière qu'il le lit?Formatage des nombres dans Scala?
Exemple:
var x:Double = 1
println (x) // This prints '1.0', I want it to print '1'
x = 1.0 // This prints '1.0', which is good
Je ne peux pas utiliser Int
parce que certains de l'entrée que je reçois sont Double
s. Je ne peux pas utiliser String
ou AnyVal
car j'effectue certaines opérations mathématiques.
Merci,
Merci pour vous répondre Mais le problème est que le nombre est inconnu, que ce soit il est « 1 » ou « 1.0 ». Si c'est '1' je veux imprimer '1', si c'est '1.0' alors je veux imprimer '1.0'. Mais comme il s'agit de Double, Scala imprime toujours en '1.0' –
Si vous le souhaitez, vous devrez le stocker sous forme de chaîne. Un «double» ne se souvient pas si vous l'avez assigné avec «1» ou «1,0». – cdmckay
Kodo, les nombres n'ont pas intrinsèquement un nombre de chiffres. Il n'y a pas de différence entre un nombre qui a la valeur 1 et un nombre qui a la valeur 1.0. – Jesper