Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
BigDecimal#sub
sub(p1, p2)
ext/bigdecimal/bigdecimal.c
View on GitHub ↗
static VALUE
BigDecimal_sub2(VALUE self, VALUE b, VALUE n)
{
ENTER(2);
Real *cv;
SIGNED_VALUE mx = check_int_precision(n);
if (mx == 0) return BigDecimal_sub(self, b);
else {
size_t pl = VpSetPrecLimit(0);
VALUE c = BigDecimal_sub(self, b);
VpSetPrecLimit(pl);
GUARD_OBJ(cv, GetVpValue(c, 1));
VpLeftRound(cv, VpGetRoundMode(), mx);
return VpCheckGetValue(cv);
}
}
sub(value, digits) -> bigdecimal
Subtract the specified value.
e.g.
Example
c = a.sub(b,n)
- digits
-
If specified and less than the number of significant digits of the result, the result is rounded to that number of digits, according to
BigDecimal.mode.