Je cherchais un moyen précis de multiplier deux nombres à virgule flottante en Java, et j'ai lu que je devrais utiliser BigDecimal, mais cela ne fonctionne pas comme prévu. Qu'est-ce que je fais mal?Multipliez précisément deux nombres en Java
Mon code:
BigDecimal a = new BigDecimal(3.53);
BigDecimal b = new BigDecimal(3.59);
BigDecimal c = a.multiply(b);
System.out.println(c);
Résultat:
12.672699999999998796873512674210388041622697702955394242845497954075284496866515837609767913818359375
Résultat attendu:
12.6727
Vous devriez essayer d'imprimer 'a' et' b'. –
Je vois c'est le même résultat, le résultat attendu est une valeur arrondie pour la valeur ci-dessus, vous pouvez utiliser quelque chose comme ** Math.round ** –
Au début, les constantes flottantes ne sont pas précisées. Doit comprendre profondément. –