CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[java] Probleme addition de donnee float

grand-nain
grand-nain
Niveau 10
18 décembre 2019 à 16:55:32

Hello la commu

Pour expliquer rapidement

J'ai un json dont un des elements de donnee est une donnee chiffré. Par exemple j'ai 190 maison, et j'ai pour chaque maison le nombre de paire de chaussures dedans.
Sauf que parfois il est inscrit qu'il y a 19.5 paire de chaussure dans la maison. C'est donc un float.

Je parcours les maisons et je recupere l'info du nombre de paire de chaussure

Sauf que quand je les additionnent, cela me donne un resultat comme si on avait coller des strings

Pour les aditionner je fais simplemznt une variable qui += ma donnee de paire de chaussure

Mais cela me donne par exmeple 19.5131415.5
Correspondant à 19.5 13 14 15.5 paires de chaussures dans mes 4 maisons.

Or moi je veux le total de paire de chaussure, soit l'addition

J'ai essaye de mettre ma donne en number, en int, etc.
Quand je la divise par 2 cela fonctionne, java comprrnds bien que c'est un chiffre

Lorsque j'additionne des donnees numeriques issu d'un json le tout dans une variable ce

AsariTech
AsariTech
Niveau 8
18 décembre 2019 à 17:24:30

Tu devrais essayer de convertir tes chaînes de caractères en entier avec la fonction parseInt(). J'ai personnellement utilisé ça à plusieurs reprises dans certains de mes morceaux de code et ça marche bien.

Lien d'explication : https://www.geeksforgeeks.org/string-to-integer-in-java-parseint/amp/

JeffAirplane2
JeffAirplane2
Niveau 10
18 décembre 2019 à 17:34:54

Si tu les convertis en entiers, tu auras de facto une perte :noel:

Le problème c'est que le Java n'a pas de méthode json.getFloat()

Du coup, tu dois soit faire un Float.parseFloat(json.getString("paire"))

Soit faire des getDouble() sur ton json puis le caster en float

N'oublie pas try catch et throw une JsonException.

Message édité le 18 décembre 2019 à 17:35:18 par JeffAirplane2
AsariTech
AsariTech
Niveau 8
18 décembre 2019 à 17:46:22

Euh oui parseFloat() pardon... Je ne sais pas pourquoi je m'étais mit en tête qu'il y avait que des entiers alors qu'il y a un 19,5 sous mon nez. Mais qu'est ce que je peux être abruti c'est pas possible, merci d'avoir corrigé :nonnon:

grand-nain
grand-nain
Niveau 10
18 décembre 2019 à 19:17:07

Merci pour vos reponses, je ne sais pas d'où venait le probleme, j'ai changer ma facon de parcourir les données, je l'ai effectuée a un autre endroit du script et recuperer la donnée, j'ai fait un number() et j'ai pu additionner les float. Or cette meme fonction tour comme parseint ne foncttionnait pas.

TheRealMarco
TheRealMarco
Niveau 13
22 décembre 2019 à 21:42:04

Manipuler des float en Java, c'est jamais une bonne idée si tu ne sais pas exactement ce que tu fais, car le langage ne respecte pas la norme IEEE754 sur la représentation des nombres flottants. Pour avoir un comportement plus cohérent, il faut utiliser le mot-clé strictfp qui force le langage à respecter la norme, rendant le code plus portable.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment