Java BigDecimal valueOf()方法
java.math.BigDecimal.valueOf(long val) 是Java中的一个内置方法,它可以将一个长的数值转换为一个比例为0的BigDecimal数值。它允许我们重复使用经常使用的BigDecimal值,因此这个 “静态工厂方法 “比(长)构造函数更有优势。包的视图如下。
--> java.math Package
--> BigDecimal Class
--> valueOf() Method
BigDecimal类的valueOf()方法有3种变化,通过不同的参数,在下面的语法中描述了这些变化,如下所示。
- public static BigDecimal valueOf(long val)
- public static BigDecimal valueOf(double d)
- public static BigDecimal value(long l, int x)
类型1: java.math.BigDecimal.valueOf(long val)
参数: 该方法接受一个Long数据类型的参数 val ,并指需要转化为BigDecimal值的数值。
返回值: 该方法返回一个Long val 的BigDecimal值 。
例子
// Java Program to Illustrate valueOf() Method
// of BigDecimal Class
// Over long As Arguments
// Importing required classes
import java.math.*;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating and declaring long value by
// creating object of Long class
Long ln = new Long("745812345678");
// Assigning above long value to BigDecimal
BigDecimal b = BigDecimal.valueOf(ln);
// Printing the BigDecimal value on console
System.out.println(
"The Converted BigDecimal value is: " + b);
}
}
输出
类型2: java.math.BigDecimal.valueOf(double val)
java.math.BigDecimal.valueOf(double val) 是java中的一个内置方法,它可以将一个双数转换为一个BigDecimal,使用Double.toString(double)方法提供的双数的标准字符串表示。
语法
public static BigDecimal valueOf(double val)
参数: 该方法接受一个数据类型为Double的单一参数 val ,指的是需要转化为BigDecimal的值。
返回值: 该方法返回一个BigDecimal值,该值等于或近似于Double val。
例子
// Java Program to Illustrate valueOf() Method
// of BigDecimal Class
// Over Double type As Arguments
// Importing required classes
import java.math.*;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating a Double Object
Double d = new Double("785.254");
/// Assigning the bigdecimal value of d to b
BigDecimal b = BigDecimal.valueOf(d);
// Printing BigDecimal value on console
System.out.println(
"The Converted BigDecimal value is: " + b);
}
}
输出
类型3: java.math.BigDecimal.valueOf(long unscaledVal, int scale)
java.math.BigDecimal.valueOf(long unscaledVal, int scale) 是Java中的一个内置方法,用于将一个未缩放的长数值和一个int scale转化为一个BigDecimal。这个 “静态工厂方法 “优先于(long, int)构造函数,因为它允许重复使用经常使用的BigDecimal值。
语法
public static BigDecimal valueOf( _long unscaledVal, int scale_ )
参数: 它需要两个参数。
- unscaledVal: Long数据类型,是指BigDecimal的未缩放值。
- scale: 数据类型为Integer,指的是BigDecimal的比例。
返回值: 一个大的小数,其值为unscaled*10-scale
。
例子
// Java Program to Illustrate valueOf() Method
// of BigDecimal Class
// Over (long, int) As Arguments
// Importing required classes
import java.math.*;
// Class
public class GFG {
// Main driver method
public static void main(String[] args) {
// Creating a Long Object by
// creating object of Long class type
Long ln = new Long("789654");
// Assigning the bigdecimal value to
// BigDecimal with scale 3
BigDecimal b = BigDecimal.valueOf(ln, 3);
// Printing BigDecimal value on console
System.out.println("The BigDecimal value is " + b);
}
}
输出