public void updateFixedPoint(long val, short scale) {
    this.scale = scale;
    if (val < 0L) {
      this.unscaledValue.update(-val);
      this.signum = -1;
    } else if (val == 0L) {
      zeroClear();
    } else {
      this.unscaledValue.update(val);
      this.signum = 1;
    }
  }
Update the value to a decimal value with the decimal point equal to
val but with the decimal point inserted scale
digits from the right. Behavior is undefined if scale is &gt; 38 or &lt; 0.

For example, updateFixedPoint(123456789L, (short) 3) changes the target
to the value 123456.789 with scale 3.
common/src/java/org/apache/hadoop/hive/common/type/Decimal128.java