Ich bekomme ein unerwartetes Ergebnis, wenn ich versuche, String 12345678911234567 zu verdoppeln. verwende ich den Code wie untenDecimalFormat Doppelfehler analysieren, wenn Nummer über 1234567891123456
double convertedNum = 0;
convertedNum = new DecimalFormat().parse(12345678911234567).doubleValue();
das konvertierte Ergebnis war 1.2345678911234568E16 aber ich erwartete es war 1.2345678911234567E16, und ich versuche auch BigDecimal zu verwenden, wie unten
double convertedNum = 0;
BigDecimal bgNum = null;
bgNum = new BigDecimal(12345678911234567);
convertedNum = bgNum.doubleValue();
erhalten gleiche zu konvertieren Ergebnis, ich kann nicht finden, was das verursacht. Würde mir jemand vorschlagen können, danke.
Danke für Ihre Antwort, aber ich muss doppelt gespeichert werden. Also verwende ich BigDecimal doubleValue(), um zu analysieren, aber das Ergebnis ist auch 1.2345678911234568E16. – kingaffery
@kingaffery Ich hoffe, mein Update erklärt, warum das, wonach Sie fragen, unmöglich ist. –