Releases: AdamWhiteHat/BigDecimal
ExtendedNumerics.BigDecimal.3002.0.0
Changelog
(Since last tagged release)
-
Issue #81: Use
BigDecimalNumberFormatInfoeverywhere to ensure successful round-tripping. -
Issue #84: Rounding issue
- Replaced the inconsistent Round method overload that accepted a
System.MidpointRoundingenum as a parameter. It now accepts aExtendedNumerics.RoundingStrategyenum instead. TheExtendedNumerics.RoundingStrategyenum has only two values:AwayFromZeroandToEven. - Added a new static member to the BigDecimal class:
BigDecimal.DefaultRoundingStrategy. The Round methods that don't take aRoundingStrategyparameter, simply call the ones that do, passing in the staticDefaultRoundingStrategymember as the rounding strategy parameter. The default value ofBigDecimal.DefaultRoundingStrategyisRoundingStrategy.ToEven.
- Replaced the inconsistent Round method overload that accepted a
Nonfunctional changes:
Added several cref and langword tags to the XML comments.
Full Changelog: ExtendedNumerics.BigDecimal.3001.0.1.201...ExtendedNumerics.BigDecimal.3002.0.0
NOTE: This release may not be the latest stable version of the code available.
Grab the latest stable build by visiting our NuGet page.
Typically, a release will be published to GitHub only after a major version bump (breaking change), and (naturally) we try to issue breaking changes as infrequently as possible, so go to NuGet.org to grab the latest version .
The .nupkg file below (which is just a renamed zip file) contains built DLLs for the following .NET targets:
.NET 4.5
.NET 4.6
.NET 4.72
.NET 4.8
.NET 5.0
.NET 6.0
.NET 7.0
.NET 8.0
.NET Standard 2.0
.NET Standard 2.1
.NET CORE APP 3.1
ExtendedNumerics.BigDecimal.3001.0.1.201
Issues fixed
Changelog since last tagged release
Issue #61: Floor off by 1 for negative values
Issue #66: Conversion from decimal truncates to 12 decimal places in certain cases.
Issue #69: BigDecimal.Exp giving incorrect results for moderately sized inputs (> 50)
Issue #78: BigDecimal.Round(value, precision) now exhibits common/standard/normal rounding behavior when the precision argument is zero or greater (instead of truncating). The behavior for negative precision values is unchanged (mimics Excel's ROUNDDOWN function).
For the old behavior, use: BigDecimal.Truncate(value, precision) instead. This method is functionally identical to Excel's ROUNDDOWN function.
Issue #79: ToString(IFormatProvider provider) overload now respects NumberFormatInfo.NumberDecimalDigits
Nonfunctional changes:
Several spelling corrections in code and comments, updated XML comments to be more accurate and informative. Updated Credits/Contributions/Attributions in the xml comments for the BigDecimal class, at the top of the code file (BigDecimal.cs).
Added an official BigDecimal logo and NuGet package icon.
NOTE: This release may not be the latest stable version of the code available.
Grab the latest stable build by visiting our NuGet page.
Typically, a release will be published to GitHub only after a major version bump (breaking change), and (naturally) we try to issue breaking changes as infrequently as possible, so go to NuGet.org to grab the latest version .
The .nupkg file below (which is just a renamed zip file) contains built DLLs for the following .NET targets:
.NET 4.5
.NET 4.6
.NET 4.72
.NET 4.8
.NET 5.0
.NET 6.0
.NET 7.0
.NET 8.0
.NET Standard 2.0
.NET Standard 2.1
.NET CORE APP 3.1
ExtendedNumerics.BigDecimal.3000.0.0.280
NOTE: This version contains a breaking change from prior versions.
The default BigDecimal.Precision value for the library has been changed from 5000 to 100. This should provide a much more reasonable default value for the vast majority of the users. 5000 digits of precision by default was a poor choice, is likely more precision than anyone needs, and likely resulted in immediate performance issues.
NOTE: This release may not be the latest stable version of the code available.
Grab the latest stable build by visiting our NuGet page.
Typically, a release will be published to GitHub only after a major version bump (breaking change), and (naturally) we try to issue breaking changes as infrequently as possible, so go to NuGet.org to grab the latest version .
The .nupkg file below (which is just a renamed zip file) contains built DLLs for the following .NET targets:
.NET 4.5
.NET 4.6
.NET 4.72
.NET 4.8
.NET 5.0
.NET 6.0
.NET 7.0
.NET 8.0
.NET Standard 2.0
.NET Standard 2.1
.NET CORE APP 3.1