Я trando округления количества, после один доставать конечно в java для compara с другим результатом 1072.03 * 0.18
Math.floor(1072.03 * 0.18);
//Output 192.9654
Это милосердие я хочу выйдите, когда rendonde результат, после доставая процентное содержание
//Output 192.97
Этот способ funcionarГ - в:
double roundOff = Math.round(mivalor * 100.0) / 100.0;
Результат serГ - в:
123.14
Для твоего примера cГіdigo serГ - в следующего:
double roundOff = Math.round(1072.03 * 0.18 * 100.0) / 100.0;
Ты можешь использовать что-то asГ -
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(number));
оставил тебе ссылку, если он подает тебя. ¿ Как ограничивать количество десятичных double?
Привет я изобрел себя этот способ решать твою проблему надеялся, что тебе помогает
public static void main(String[] args) {
Double Num1,Num2,Resultado; //Declaro Resultado
int Decimales=100; //1 cero por cada decima que quieras
Num1=1072.03;
Num2=0.18;
Resultado=Num1*Num2; //Saco Cuenta ->192.9654
Resultado=Resultado*Decimales; //-> 19296.54 Convierto en entero lo que quiero que se quede
Resultado=(double)Math.round(Resultado); //->19297 Elimino el resto
Resultado=Resultado/Decimales; //Vuelvo a convertir a decimales lo que quiero que se quede
System.out.println(Resultado); //Output 192.9654)
}
}
, Я это превратил в функцию, чтобы делать это более легким использовать
, Чтобы это называть ты это используешь
`Resultado=redondear(Num,Decimales);`
будучи Номером число, которое ты хочешь округлить и Десятичные количество десятичных, что ты захотел
public static double redondear (double Num, int Decimales){
int aux=1;
for (int i=0;i<Decimales;i++){
aux=aux*10;
}
Num=Num*aux;
Num=(double)Math.round(Num);
Num=Num/aux;
return(Num);
}
Чтобы работать с десятичными, ты recomendarГ, - чтобы использовать BigDecimal, который у него есть лучше precisiГіn, что Double.
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class Redondeo {
public static void main(String[] args) {
BigDecimal numero= new BigDecimal("1072.03");
BigDecimal porcentaje = new BigDecimal("0.18");
BigDecimal resultado = numero.multiply(porcentaje);
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(resultado));
}
}
, Чтобы показывать двух десятичных, ты можешь использовать ее soluciГіn, который он показывает тебе @E.RawrdrГ-guez. Ophanim
Он делает времена habГ - в напечатанный результат, сходный с тем, в чем ты нуждаешься, если он интересует тебя:
¿ Как ограничивать количество десятичных double?
mГ©todo ты можешь копировать это и прикреплять и использовать разы, которые ты хочешь.
numero: el valor con todos los decimales
numeroDecimales: cuantos decimales quiero recuperar
Ejem: 2.8049999999999997 devuelve 2.805
double val = formatearDecimales( 2.8049999999999997, 3);
public static Double formatearDecimales(Double numero, Integer numeroDecimales) {
return Math.round(numero * Math.pow(10, numeroDecimales)) / Math.pow(10, numeroDecimales);
}