📜  Java中的 BigDecimal movePointLeft() 方法

📅  最后修改于: 2022-05-13 01:54:50.028000             🧑  作者: Mango

Java中的 BigDecimal movePointLeft() 方法

先决条件: BigDecimal 基础

Java.math.BigDecimal.movePointLeft( int n )方法用于将当前 BigDecimal 的小数点向左移动 n 位。

  • 如果 n 为非负数,则调用仅将 n 添加到标度中。
  • 如果 n 为负数,则调用等效于 movePointRight(-n)。

此方法返回的 BigDecimal 值有 value (this × 10-n) 和 scale max(this.scale()+n, 0)。

句法:

public BigDecimal movePointLeft(int n)

参数:该方法采用一个整数类型的参数n ,表示小数点需要向左移动的位数。

返回值:该方法返回相同的 BigDecimal 值,小数点向左移动 n 位。

异常:如果比例溢出,该方法将引发ArithmeticException
例子:

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

下面的程序说明了 BigDecimal 的 movePointLeft() 方法:

// 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);
    }
}
输出:
After applying decimal move left by move Distance 3 on 2300.9856 New Value is 2.3009856

参考: https: Java/math/BigDecimal.html#movePointLeft(int)