Articles of bigdecimal

¿Cómo puedo analizar un String a BigDecimal?

Tengo este String: 10,692,467,440,017.120 (es una cantidad). Quiero analizarlo en un BigDecimal. El problema es que he probado tanto DecimalFormat como NumbeFormat en vano. ¿Alguna ayuda?

Formatea un BigDecimal como String con un máximo de 2 dígitos decimales, eliminando 0 en la parte decimal

Tengo un número BigDecimal y considero solo 2 lugares decimales, así que lo trunco ​​usando: bd = bd.setScale(2, BigDecimal.ROUND_DOWN) Ahora quiero imprimirlo como Cadena pero eliminando la parte decimal si es 0, por ejemplo: 1.00 -> 1 1.50 -> 1.5 1.99 -> 1.99 Intenté usar un Formatter, formatter.format pero siempre obtengo los 2 dígitos decimales. […]

MongoDB: ¿qué pasa con el tipo de valor decimal?

Actualmente estoy aprendiendo y aplicando MongoDB para un pequeño proyecto relacionado con finanzas. Cuando leo MongoDB en acción , dice: El único otro problema que comúnmente surge con los tipos numéricos BSON es la falta de soporte decimal. Esto significa que si planea almacenar valores de moneda en MongoDB, debe usar un tipo de entero […]

¿Qué hacer con el rendimiento de Java BigDecimal?

Escribo aplicaciones de comercio de divisas para vivir, así que tengo que trabajar con valores monetarios (es una pena que Java todavía no tenga tipo de flotación decimal y no tenga nada que respalde los cálculos monetarios de precisión arbitraria). “¡Usa BigDecimal!” – tu podrias decir. Hago. Pero ahora tengo algún código donde el rendimiento […]

Java BigDecimal: Redondea al valor entero más cercano

Necesito los siguientes resultados 100.12 -> 100.00 100.44 -> 100.00 100.50 -> 101.00 100.75 -> 101.00 .round() o .setScale() ? ¿Cómo hago esto?

Convierte doble a BigDecimal y establece la precisión BigDecimal

En Java, quiero tomar un doble valor y convertirlo en un BigDecimal e imprimir su valor String con una cierta precisión. import java.math.BigDecimal; public class Main { public static void main(String[] args) { double d=-.00012; System.out.println(d+””); //This prints -1.2E-4 double c=47.48000; BigDecimal b = new BigDecimal(c); System.out.println(b.toString()); //This prints 47.47999999999999687361196265555918216705322265625 } } Imprime esta gran […]

Convertir segundos valor a horas minutos segundos?

He intentado convertir un valor de segundos (en una variable BigDecimal) en una cadena en un texto de edición como “1 hora 22 minutos 33 segundos” o algo por el estilo. He intentado esto: String sequenceCaptureTime = “”; BigDecimal roundThreeCalc = new BigDecimal(“0”); BigDecimal hours = new BigDecimal(“0”); BigDecimal myremainder = new BigDecimal(“0”); BigDecimal minutes […]

BigDecimal setScale y redondos

¿Cuál es la diferencia entre estas dos llamadas? (¿Hay alguna?) // 1. new BigDecimal(“3.53456”).round(new MathContext(4, RoundingMode.HALF_UP)); // 2. new BigDecimal(“3.53456”).setScale(4, RoundingMode.HALF_UP);

Agregando BigDecimales usando Streams

Tengo una colección de BigDecimals (en este ejemplo, una LinkedList ) que me gustaría agregar juntos. ¿Es posible usar transmisiones para esto? Noté que la clase Stream tiene varios métodos Stream::mapToInt Stream::mapToDouble Stream::mapToLong Cada uno de los cuales tiene un método conveniente de sum() . Pero, como sabemos, la aritmética float y double casi siempre […]

BigDecimal: para usar nuevo o valueOf

Encontré dos maneras de obtener un objeto BigDecimal de una doble d. 1. new BigDecimal(d) 2. BigDecimal.valueOf(d) ¿Cuál sería un mejor enfoque? ¿ValueOf crearía un nuevo objeto? En general (no solo BigDecimal), ¿qué se recomienda, nuevo o valueOf? Gracias.