BigDecimal movePointLeft() Method in Java

prerequisite : BigDecimal Basics

The java.math.BigDecimal.movePointLeft(int n) method is used to move the decimal point of the current BigDecimal by n places to the left.

  • If n is non-negative, the call merely adds n to the scale.
  • If n is negative, the call is equivalent to movePointRight(-n).

The BigDecimal value returned by this method has value (this × 10-n) and scale max(this.scale()+n, 0).



Syntax:

public BigDecimal movePointLeft(int n)

Parameter: The method takes one parameter n of integer type which refers to the number of places the decimal point is required to be moved towards the left.

Return Value: The method returns the same BigDecimal value with the decimal point moved n places to the left.

Exception: The method throws an ArithmeticException if the scale overflows.
Examples:

Input: value = 2300.9856, Leftshift = 3
Output: 2.3009856
Explanation:
while shifting the decimal point of 2300.9856 
by 3 places to the left, 2.3009856 is obtained
Alternate way: 2300.9856*10^(-3)=2.3009856

Input: value = 35001, Leftshift = 2
Output: 350.01

Below program illustrate the movePointLeft() method of BigDecimal:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Program to demonstrate movePointLeft() method of BigDecimal 
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Create BigDecimal object
        BigDecimal bigdecimal = new BigDecimal("2300.9856");
  
        // Create a int i for decimal left move distance
        int i = 3;
  
        // Call movePointLeft() method on BigDecimal by shift i
        // Store the return value as BigDecimal
        BigDecimal changedvalue = bigdecimal.movePointLeft(i);
  
        String result = "After applying decimal move left by move Distance " 
        + i + " on " + bigdecimal + " New Value is " + changedvalue;
  
        // Print result
        System.out.println(result);
    }
}

chevron_right


Output:

After applying decimal move left by move Distance 3 on 2300.9856 New Value is 2.3009856

Reference:https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#movePointLeft(int)



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.