java.math.BigDecimal.byteValueExact () es una función integrada que convierte BigDecimal en un byte y busca información perdida. Cualquier valor BigDecimal superior a 127 o inferior a -128 generará una excepción ya que no cabe en el rango de bytes.
Sintaxis:
public byte byteValueExact()
Parámetros: El método no acepta ningún parámetro.
Valor de retorno: este método devuelve el valor de byte del objeto BigDecimal.
Excepción: esta función arroja ArithmeticException en caso de que BigDecimal tenga una parte fraccionaria distinta de cero, es decir, en el caso de valores decimales, o esté fuera del rango posible para un resultado de byte.
Ejemplos:
Input : 127 Output : 127 Input : -67 Output : -67
Los siguientes programas ilustrarán el uso de la función byteValueExact():
Programa 1:
// Java program to demonstrate byteValueExact() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigDecimal object BigDecimal b; // Creating a byte objects byte bt; b = new BigDecimal("47"); // Assigning the byte value of b to bt bt = b.byteValueExact(); // Displaying the byte value System.out.println("Exact byte value of " + b + " is " + bt); } }
Exact byte value of 47 is 47
Programa 2:
// Java program to demonstrate byteValueExact() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating a BigDecimal object BigDecimal b; b = new BigDecimal("-128.0564000"); System.out.println("BigDecimal value : " + b); long roundedValue = Math.round(b.doubleValue()); System.out.println("Rounded value : " + roundedValue); // Rounding is necessary as the fractional part is not zero // as well as exceeding the byte range of -128 to 127 b = new BigDecimal(roundedValue); System.out.println("Byte converted value : " + b.byteValueExact()); } }
BigDecimal value : -128.0564000 Rounded value : -128 Byte converted value : -128
Referencia: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#byteValueExact()
Publicación traducida automáticamente
Artículo escrito por RICHIK BHATTACHARJEE y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA