Я округляю в java десятичные

Я trando округления количества, после один доставать конечно в java для compara с другим результатом 1072.03 * 0.18

Math.floor(1072.03 * 0.18); 
 //Output 192.9654

Это милосердие я хочу выйдите, когда rendonde результат, после доставая процентное содержание

//Output 192.97
0
задан 07.11.2019, 20:19
5 ответов

Этот способ 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;
2
ответ дан 01.12.2019, 12:21

Ты можешь использовать что-то asГ -

 DecimalFormat df = new DecimalFormat("#.00");
 System.out.println(df.format(number));

оставил тебе ссылку, если он подает тебя. ¿ Как ограничивать количество десятичных double?

2
ответ дан 01.12.2019, 12:21

Привет я изобрел себя этот способ решать твою проблему надеялся, что тебе помогает

    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);
}
1
ответ дан 01.12.2019, 12:21

Чтобы работать с десятичными, ты 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

0
ответ дан 01.12.2019, 12:21

Он делает времена 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);
}
0
ответ дан 01.12.2019, 12:21

Теги

Похожие вопросы