long longValueExact()

优质
小牛编辑
129浏览
2023-12-01

描述 (Description)

java.math.BigDecimal.longValueExact()将此BigDecimal转换为long,检查丢失的信息。 如果此BigDecimal具有非零小数部分或超出long结果的可能范围,则抛出ArithmeticException。

声明 (Declaration)

以下是java.math.BigDecimal.longValueExact()方法的声明。

public long longValueExact()

参数 (Parameters)

NA

返回值 (Return Value)

此方法返回BigDecimal对象的long值。

异常 (Exception)

ArithmeticException - 如果它具有非零小数部分,或者不适合long。

例子 (Example)

以下示例显示了math.BigDecimal.longValueExact()方法的用法。

package cn.xnip;
import java.math.*;
public class BigDecimalDemo {
   public static void main(String[] args) {
      // create 2 BigDecimal objects
      BigDecimal bg1, bg2;
      // create 2 long objecs
      long l1,l2;
      bg1 = new BigDecimal("-429");
      bg2 = new BigDecimal("3.3E+10");
      // assign the long value of bg1 and bg2 to l1,l2 respectively
      l1 = bg1.longValueExact();
      l2 = bg2.longValueExact();
      String str1 = "Exact Long value of " + bg1 + " is " + l1;
      String str2 = "Exact Long value of " + bg2 + " is " + l2;
      // print l1,l2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Exact Long value of -429 is -429
Exact Long value of 3.3E+10 is 33000000000