no he encontrado ningún método nativo para hacer esto, así que creé mi propia en una clase de ayuda:Calcular el porcentaje de bigdecimals
public static BigDecimal percentage(BigDecimal base, BigDecimal pct){
return base.multiply(pct).divide(new BigDecimal(100));
}
pero no me gusta bastante, me pregunto si la API tiene algo similar. La clase Number (ancestro de BigDecimal) sería un lugar agradable.
¿Por qué no te gusta? ¿Qué pasa con eso? –
Pienso en cuántos otros programadores van a crear el mismo método, es DRY. Incluso la calculadora más simple tiene un botón de porcentaje. No puedo entender por qué la clase no lo tiene. –
@LluisMartinez: El problema aquí es la precisión. Cuando divides dos '' BigDecimal''s (lo que haces al calcular el porcentaje), deberías proporcionar un modo de redondeo apropiado. Supongo que es por eso que la clase no proporciona un método '' percentage() ''. Basta con mirar '' BigDecimal'', hay seis '' divide() '' métodos con diferentes firmas. Al proporcionar un método porcentual, tendría que agregar otros 6 o más métodos y, en última instancia, eso inflaría toda la implementación. – user1438038