Pytania otagowane jako bigdecimal

BigDecimal to numeryczny typ obiektu w Javie, który reprezentuje liczby dziesiętne z dowolną precyzją.


6
Double vs. BigDecimal?
Muszę obliczyć niektóre zmienne zmiennoprzecinkowe, a mój kolega sugeruje, żebym użył BigDecimalzamiast tego, doubleponieważ będzie to bardziej precyzyjne. Ale chcę wiedzieć, co to jest i jak najlepiej wykorzystać BigDecimal?


1
Zaokrąglanie BigDecimal do * zawsze * ma dwa miejsca po przecinku
Próbuję zaokrąglić wartości BigDecimal w górę, do dwóch miejsc po przecinku. używam BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING)); logger.trace("rounded {} to {}", value, rounded); ale nie robi tego, co chcę konsekwentnie: rounded 0.819 to 0.82 rounded 1.092 to 1.1 rounded 1.365 to 1.4 // should be 1.37 rounded 2.730 to …

5
Jak zmienić separator dziesiętny DecimalFormat z przecinka na kropkę / punkt?
Mam tę małą zwariowaną metodę, która konwertuje wartości BigDecimal na ładne i czytelne ciągi znaków. private String formatBigDecimal(BigDecimal bd){ DecimalFormat df = new DecimalFormat(); df.setMinimumFractionDigits(3); df.setMaximumFractionDigits(3); df.setMinimumIntegerDigits(1); df.setMaximumIntegerDigits(3); df.setGroupingSize(20); return df.format(bd); } Jednak generuje również tak zwany separator grupowania, ","który sprawia, że ​​wszystkie moje wartości wyglądają następująco: xxx,xxx Potrzebuję separatora, …


5
Dodawanie BigDecimals przy użyciu strumieni
Mam kolekcję BigDecimals (w tym przykładzie a LinkedList), którą chciałbym dodać. Czy można do tego wykorzystać strumienie? Zauważyłem, że Streamklasa ma kilka metod Stream::mapToInt Stream::mapToDouble Stream::mapToLong Z których każdy ma wygodną sum()metodę. Ale, jak wiemy, floati doublearytmetyka jest prawie zawsze zły pomysł. Czy jest więc wygodny sposób podsumowania BigDecimals? To …

4
BigDecimal równa się () a porównajTo ()
Rozważmy prostą klasę testową: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? "true": …

11
Dodatek do BigDecimal
Chcę zrobić kilka prostych sum z pewnymi wartościami walutowymi wyrażonymi BigDecimalczcionką. BigDecimal test = new BigDecimal(0); System.out.println(test); test.add(new BigDecimal(30)); System.out.println(test); test.add(new BigDecimal(45)); System.out.println(test); Oczywiście nie rozumiem dobrze BigDecimalarytmetyki, zobacz wyniki za. Test 0 0 0 Czy ktoś może mi pomóc?
155 java  bigdecimal 

2
BigDecimal set Skala i okrągłe
Jaka jest różnica między tymi dwoma połączeniami? (Czy jest jakiś?) // 1. new BigDecimal("3.53456").round(new MathContext(4, RoundingMode.HALF_UP)); // 2. new BigDecimal("3.53456").setScale(4, RoundingMode.HALF_UP);
140 java  bigdecimal 

8
Konwersja BigDecimal na Integer
Mam metodę Hibernate, która zwraca mi BigDecimal. Mam inną metodę API, do której muszę przekazać ten numer, ale akceptuje ona liczbę całkowitą jako parametr. Nie mogę zmienić typów zwracanych ani typów zmiennych obu metod. Teraz jak przekonwertować BigDecimal na Integer i przekazać go do drugiej metody? Czy jest wyjście z …


9
Bezpieczna konwersja ciągu na BigDecimal
Próbuję odczytać niektóre wartości BigDecimal z ciągu. Powiedzmy, że mam ten ciąg: „1,000,000,000.999999999999999” i chcę uzyskać z niego BigDecimal. Jak to zrobić? Przede wszystkim nie podobają mi się rozwiązania wykorzystujące zamiany ciągów znaków (zastępowanie przecinków itp.). Myślę, że powinien być jakiś zgrabny formater do wykonania tej pracy za mnie. Znalazłem …
120 java  parsing  bigdecimal 

21
Konwersja wartości sekund na godziny minuty sekundy?
Próbowałem przekonwertować wartość sekund (w zmiennej BigDecimal) na ciąg w editText, taki jak „1 godzina 22 minuty 33 sekundy” lub coś w tym rodzaju. Próbowałem tego: String sequenceCaptureTime = ""; BigDecimal roundThreeCalc = new BigDecimal("0"); BigDecimal hours = new BigDecimal("0"); BigDecimal myremainder = new BigDecimal("0"); BigDecimal minutes = new BigDecimal("0"); …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.