Programa Java para convertir doble a largo

Dado un número real Doble. Escriba un programa Java para convertir el número doble dado en un Long (largo) en Java.

Ejemplos:

Input: double = 2545.241
Output: 2545

Input: double = 21.54
Output: 21

Tipo de datos doble: el tipo de datos doble es un punto flotante IEEE 754 de 64 bits de doble precisión. Su rango de valor es infinito. Se usa comúnmente para valores decimales. Nunca usó el tipo de datos doble para almacenar valores precisos, como moneda. Su valor predeterminado es 0.0d .

Example: double double1 = 111.5d

Tipo de datos largos: el tipo de datos largos es un entero de complemento a dos de 64 bits. Representa una longitud de 64 bits sin signo con un valor mínimo de 0 y un valor máximo de 2 64 -1. La clase long también contiene métodos para realizar operaciones aritméticas en long sin signo. El valor predeterminado es 0 .

Example: long long1 = 111

Puede haber muchos enfoques para convertir datos dobles en tipos de datos largos. Algunos de ellos se enumeran a continuación:

  • Uso de encasillamiento.
  • Usando el método Double.longValue() .
  • Usando el método Math.round() .
  • Usando Long.parseLong() junto con métodos String.

Enfoque 1: uso de encasillamiento

Este es el método más simple para convertir el tipo de datos doble a largo en Java.

Sintaxis:

double doubleVar = 3452.345
long longVar = (long)doubleVar;

Ejemplo:

Java

// Java program to convert double value to
// long using TypeCasting method
  
class GFG {
    public static void main(String[] args)
    {
        double doubleValue = 4512.412;
        System.out.println("Double Value: " + doubleValue);
        
        // TypeCasting to convert double to long
        long longValue = (long)doubleValue;
        System.out.println("Long Value: " + longValue);
    }
}
Producción

Double Value: 4512.412
Long Value: 4512

Enfoque 2: uso del método Double.longValue()

Este enfoque es similar al enfoque anterior. Aquí, la clase Double contiene un método longValue(), que elimina todos los dígitos después del decimal de un valor doble.

Sintaxis:

double doubleValue = 4512.412;
Double newDouble = new Double(doubleValue);
long longValue = newDouble.longValue();  

Ejemplo:

Java

// Java program to convert double value to
// long using Double.longValue() method
  
class GFG {
    public static void main(String[] args)
    {
        double doubleValue = 4512.412;
        System.out.println("Double Value: " + doubleValue);
  
        // Create wrapper around the double value
        Double newDouble = new Double(doubleValue);
        
        // Convert double to long
        long longValue = newDouble.longValue();
        System.out.println("Long Value: " + longValue);
    }
}

Producción:

Double Value: 4512.412
Long Value: 4512

Enfoque 3: uso del método Math.round()

Math.round() acepta un valor doble y lo convierte en el valor largo más cercano al agregar 0.5 y eliminar sus puntos decimales.

Sintaxis:

long Math.round(Double double1);

Ejemplo:

Java

// Java program to convert Double to long
// using Math.round()
    
public class GFG {
    
    public static void main(String args[])
    {
    
        // Get the double value
        double double1 = 99.4;
        System.out.println("Double Value 1: " + double1);
    
        // convert double into long
        long long1 = (long)Math.round(double1);
    
        // print the long value
        System.out.println("Long Value 1: " + long1);
          
        double double2 = 99.6;
        System.out.println("Double Value 2: " + double2);
    
        // convert double into long
        long long2 = (long)Math.round(double2);
    
        // print the long value
        System.out.println("Long Value 2: " + long2);
    }
}
Producción

Double Value 1: 99.4
Long Value 1: 99
Double Value 2: 99.6
Long Value 2: 100

Nota: En el ejemplo anterior, la función Math.round() redondea el valor doble al valor largo más cercano. Por ejemplo, 99,4 se redondea a 99 mientras que 99,6 se redondea a 100.

Enfoque 4: uso de Long.parseLong() junto con métodos de string

Podemos analizar una string en un largo usando el método Long.parseLong(). Entonces, primero podemos convertir el valor doble dado en una string, luego verificar el decimal en la string. Si está presente el decimal, recorte la string de lo contrario, déjela como está y luego convierta la string a un valor largo.

Sintaxis:

long longValue = Long.parseLong(string);

Ejemplo:

Java

// Java program to convert double value to
// long using Long.parseLong() method
  
class GFG {
    public static void main(String[] args)
    {
        double doubleValue = 4512.412;
        System.out.println("Double Value: " + doubleValue);
  
        // Convert double to string
        String str = String.valueOf(doubleValue);
        
        // Get the index of decimal (.) in the string
        int index = str.indexOf('.');
        
        // Trim the string if needed
        str = str.substring(0, index == -1 ? str.length()
                                           : index);
        
        // Convert the string to long
        long longValue = Long.parseLong(str);
        
        // print long Value
        System.out.println("Long Value: " + longValue);
    }
}
Producción

Double Value: 4512.412
Long Value: 4512

Publicación traducida automáticamente

Artículo escrito por vpsop y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *