Fix BigDecimal
output in sum
filter
#1739
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
sum
filter #1725sum
filter results in scientific notation. #1728Thank you, @jg-rp, for identifying this bug and helping to implement the fix.
Summary
This PR addresses a bug in the
sum
filter when handling arrays containing floats and thus yield a result that is a float.Previously, the
sum
filter would return aBigDecimal
, which would render in scientific notation, when summing floats. This behaviour was inconsistent with other math filters.The change in this PR ensures that the
sum
filter returns a float instead of aBigDecimal
when summing floats, aligning its behaviour with other math filters.For example:
liquid/lib/liquid/standardfilters.rb
Lines 908 to 911 in 0b93182
Changes
sum
filter inlib/liquid/standardfilters.rb
to convert BigDecimal results to floats when summing floats.test/integration/standard_filter_test.rb
to verify the correct behaviour of thesum
filter when handling floats.