es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo ajustar un número específico de dígitos en el tipo primitivo double/float en Java?

Quiero un número específico de dígitos en el tipo primitivo double/float. ¿Hay alguna manera de hacer esto?

Por ejemplo: (fijo en 6 dígitos)

  1. Si tenemos 12.666666667, el resultado será 12.6667
  2. Si tenemos 5.6666666667, el resultado será 5.66667
  3. Sin embargo, si tenemos 9.00000000, el resultado será sólo 9.*

Para una comprensión más clara, adjunto una imagen. enter image description here

¿Cómo replicar el mismo resultado que obtuve del código mencionado a continuación en Java?

#include<iostream>
using namespace std;
int main()
{
  float num = 9.34333666666663;
  float num2 = 12.0000000
  cout << num;
  cout << num2;
  return 0;
}

Resultado:

9.34334
12
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de lograr un número fijo de dígitos en un tipo primitivo double/float en Java. Puedes usar la clase DecimalFormat para dar formato a la salida a un cierto número de lugares decimales. Aquí tienes un ejemplo:

    double num = 9.34333666666663;
    double num2 = 12.0000000;
    
    DecimalFormat df = new DecimalFormat("#.######"); // configurado para 6 lugares decimales
    df.setRoundingMode(RoundingMode.HALF_UP); // redondear a la mitad superior
    
    System.out.println(df.format(num));
    System.out.println(df.format(num2));
    

    Resultado:

    9.343337
    12
    

    En este ejemplo, creamos un objeto DecimalFormat con un patrón de formato de #.######, lo que significa que queremos mostrar hasta 6 lugares decimales. También establecemos el modo de redondeo en HALF_UP, lo que significa que los números se redondearán al dígito más cercano, con los empates redondeándose hacia arriba.

    Luego usamos el método format() del objeto DecimalFormat para dar formato a nuestros números e imprimir la salida en la consola. El primer número se redondea a 6 lugares decimales y el segundo número se muestra sin lugares decimales, como se especifica en el patrón de formato.

Comments are closed.