Junior — Middle
Használható-e a double adattípus magas pontosságú értékek tárolására?
sobes.tech MI
Válasz az MI-től
A Java double adattípus kettős pontosságú lebegőpontos számot képvisel, és alkalmas tizedes részt tartalmazó számok tárolására. Azonban nem garantálja a magas pontosságot a tizedes törtek kezelésében a lebegőpontos számok bináris ábrázolásának sajátosságai miatt. Ez kerekítési hibákhoz vezethet, amelyek kritikusak lehetnek pénzügyi vagy más precíz számításoknál.
Magas pontosságú értékek tárolásához, különösen pénzügyi alkalmazásokban, jobb a BigDecimal osztály használata, amely pontos tizedes számokat és műveleteket biztosít pontvesztés nélkül.
A BigDecimal használatának példája:
import java.math.BigDecimal;
public class PrecisionExample {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
BigDecimal sum = a.add(b);
System.out.println("Összeg: " + sum); // Pontosan 0.3-at ír ki
}
}