ratio

Creates an Arith decimal value from separate numerator and denominator inputs.

import { Arith } from "@teakit/arith";

Arith.ratio("1", "3").toString(); // "0.33333333333333333333"
Arith.ratio("25", "100").toString(); // "0.25"

// Inputs may already be Arith instances.
const numerator = Arith.from("30");
const denominator = Arith.from("360");
Arith.ratio(numerator, denominator).toString(); // "0.08333333333333333333"

// The result follows the constructor's precision config.
const Short = Arith.clone({ DECIMAL_PLACES: 4 });
Short.ratio("1", "3").toString(); // "0.3333"

// Use fromRatio when the source is a single string containing slash syntax.
Arith.fromRatio("30/360").toString(); // "0.08333333333333333333"

API Reference

Signature

Arith.ratio(numerator: ArithValue, denominator: ArithValue): ArithInstance;

Parameters

ParameterTypeRequiredNotes
numeratorArithValueYesFinite value to divide.
denominatorArithValueYesFinite non-zero value to divide by.

Returns

Returns a new Arith instance containing numerator / denominator.

Throws

  • Throws if numerator is NaN, Infinity, or -Infinity.
  • Throws if denominator is NaN, Infinity, -Infinity, 0, or -0.
  • Throws if either input is invalid while STRICT is true.

Agent Contract

FieldValue
Kindstatic factory
Canonical nameratio
AliasesNone
Mutates receiverNo
ReturnsArithInstance
Accepts (string, base) overloadNo
Configuration dependenciesDECIMAL_PLACES, ROUNDING_MODE, STRICT
Related methodsfromRatio, from, div

Agent Notes

  • Use Arith.ratio(numerator, denominator) when numerator and denominator are already separate values.
  • Use Arith.fromRatio("p/q") only when parsing an explicit ratio string.
  • Do not generate an instance method such as Arith.from(numerator).ratio(denominator).
  • Do not use JavaScript division operators for decimal ratio math.
  • Prefer string inputs for exact numerator and denominator values.