Method: OraNumber#round

Defined in:
ext/oci8/ocinumber.c

#roundInteger #round(decplace) ⇒ OraNumber

Overloads:

  • #roundInteger

    Rounds self to the nearest Integer.

    Examples:

    OraNumber(1.49).round     # => 1
    OraNumber(1.5).round      # => 2
    OraNumber(-1.49).round    # => -1
    OraNumber(-1.5).round     # => -2

    Returns:

    • (Integer)
  • #round(decplace) ⇒ OraNumber

    Rounds onum to a specified decimal place decplace.

    Examples:

    OraNumber(123.456).round(2)   # => #<OraNumber:123.46>
    OraNumber(123.456).round(1)   # => #<OraNumber:123.5>
    OraNumber(123.456).round(0)   # => #<OraNumber:123>
    OraNumber(123.456).round(-1)  # => #<OraNumber:120>

    Parameters:

    • decplace (Integer)

    Returns:



1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
# File 'ext/oci8/ocinumber.c', line 1203

static VALUE onum_round(int argc, VALUE *argv, VALUE self)
{
    OCIError *errhp = oci8_errhp;
    VALUE decplace;
    OCINumber r;

    rb_scan_args(argc, argv, "01", &decplace /* 0 */);
    chkerr(OCINumberRound(errhp, _NUMBER(self), NIL_P(decplace) ? 0 : NUM2INT(decplace), &r));
    if (argc == 0) {
        return oci8_make_integer(&r, errhp);
    } else {
        return oci8_make_ocinumber(&r, errhp);
    }
}