# Java BigDecimal valueOf() Method with Example

BigDecimal Class valueOf() method: Here, we are going to learn about the valueOf() method of BigDecimal Class with its syntax and example.
Submitted by Preeti Jain, on May 08, 2020

## BigDecimal Class valueOf() method

Syntax:

```    public static BigDecimal valueOf (double d);
public static BigDecimal valueOf (long l);
public static BigDecimal valueOf (long unsc_val , int sc_val);
```
• valueOf() method is available in java.math package.
• valueOf (double d) method is used to convert the given double value into a BigDecimal.
• valueOf (long l) method is used to convert the given long value into a BigDecimal.
• valueOf (long unsc_val , int sc_val) method is used to convert the given long unscaled value and an integer value into a BigDecimal.
• These methods may throw an exception at the time of returning the value of the given parameter.
NumberFormatException: This exception may throw when the given parameter is not finite.
• These are non-static methods and it is accessible with class objects and if we try to access these methods with the class name then we will get an error.

Parameter(s):

• In the first case, valueOf(double d),
• double d – represents the double value to be converted to a BigDecimal.
• In the first case, valueOf (long l),
• long l – represents the long value to be converted to a BigInteger.
• In the first case, valueOf (long unsc_val, int sc_val),
• long unsc_val – represents the unscaled value of this BigDecimal.
• int sc_val – represents the scale of this BigDecimal.

Return value:

In all the cases, the return type of the method is BigDecimal,

• In the first case, it returns the converted double value to a BigDecimal.
• In the second case, it returns the converted long value to a BigDecimal.
• In the third case, it returns the BigDecimal and its value is calculated by using [(unsc_val) * 10 pow (-sc)].

Example:

```// Java program to demonstrate the example
// of valueOf() method of BigDecimal

import java.math.*;

public class ValueOfOfBD {
public static void main(String args[]) {
// Instantiates three variables l_val
// d_val, unscale_val
long l_val = 125487312456l;
double d_val = 1245871.12345;
long unscale_val = 123458745123l;

// converts the given long value into
// a BigDecimal and store it in a variable
// named value_of
BigDecimal value_of = BigDecimal.valueOf(l_val);

System.out.println("l_val: " + l_val);
System.out.println("valueOf(long): ");

// Display value_of
System.out.println("BigDecimal.valueOf(l_val): " + value_of);

System.out.println();

// converts the given double value into
// a BigDecimal and store it in a variable
// named value_of
value_of = BigDecimal.valueOf(d_val);

System.out.println("d_val: " + d_val);
System.out.println("valueOf(double): ");

// Display value_of
System.out.println("BigDecimal.valueOf(d_val): " + value_of);

System.out.println();

// converts the given unscaled long value
// with the given scale into a BigDecimal and
// store it in a variable named value_of
value_of = BigDecimal.valueOf(unscale_val, 5);

System.out.println("unscale_val: " + unscale_val);
System.out.println("valueOf(long,int): ");

// Display value_of
System.out.println("BigDecimal.valueOf(unscale_val,5): " + value_of);
}
}
```

Output

```l_val: 125487312456
valueOf(long):
BigDecimal.valueOf(l_val): 125487312456

d_val: 1245871.12345
valueOf(double):
BigDecimal.valueOf(d_val): 1245871.12345

unscale_val: 123458745123
valueOf(long,int):
BigDecimal.valueOf(unscale_val,5): 1234587.45123
```

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates