java byte转bigdecimal_Java BigDecimal byteValueExact()用法及代码示例

java.math.BigDecimal.byteValueExact()是一个内置函数,它将BigDecimal转换为字节并检查丢失的信息。任何大于127或小于-128的BigDecimal值都将生成异常,因为它不适合字节范围。

用法:

public byte byteValueExact()

参数:该方法不接受任何参数。

返回值:此方法返回BigDecimal对象的字节值。

异常:如果BigDecimal具有非零小数部分(即十进制值)或超出字节结果的可能范围,则此函数引发ArithmeticException。

例子:

Input : 127

Output : 127

Input : -67

Output : -67

下面的程序将说明byteValueExact()函数的用法:

示例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

示例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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值