Implementation of rational number arithmetic for .NET with arbitrary precision. Supported features: - implicit conversions - rationals integrate seamlessly with other number types - unlimited precision - rationals use BigInteger inside - canonical form - each rational can have its canonical form (irreducible fraction where denominator is always positive) - separate whole and fractional part - any rational number can be separated into a whole part (integer quotient aka result of integer division) and fractional part (reminder of the integral division aka result of modulo operation) - comparison & equality - multiple formatting options - ToString("C") (canonical form), ToString("W") (whole + fractional part), or normal fraction format - continued fraction expansion - expand rational numbers to continued fraction (sequence of coefficients), construct rational numbers from sequence of continued fraction coefficients - rational number approximation - approximate floating point numbers (decimal, double, float) as rational numbers with customizable tolerance Example usage: Rational left = (Rational) 1 / 2; Rational right = (Rational) 1 / 4; Rational sum = left + right; // equals to: 3 / 4
Project Url
View on NuGet:


Here are the packages that version 1.3.3 of Rationals depends on.

NETStandard.Library : (1.6.1)



Installing with NuGet

PM> Install-Package Rationals

Packages that Depend on Rationals

PackageLatest VersionTags
CryptoExchangeClient 0.3.0 cryptocurrency blockchain rest websocket api client crypto bitcoin exchange