Version 12.1.0
ONIXLabs DotNET Library 12.1.0
We are excited to announce the release of ONIXLabs .NET Library version 12.1.0, now available on NuGet.
Numerics Updates
Decimal.SetScale
A new extension method for System.Decimal has been added: SetScale(int) and SetScale(int, MidpointRounding), for controlling the scale (decimal places) of decimal values, and consists of the following behavior:
- Pads the decimal value with trailing zeroes if scale is too low.
- Truncates safely if no precision is lost.
- Throws if truncation would discard non-zero digits, or rounds using the specified
MidpointRoundingmode.
GenericMath.Pow10
A new method under the generic math class provides utility for computing powers of 10 for any numeric type implementing INumber<T> (e.g. int, long, decimal, double, etc.) using an efficient implementation using exponentiation by squaring (O(log n)).
- Typed safely with INumber
- Throws for negative exponents (by design)