$ ruby -e 'puts "%+.2d" % -9'
From the rdoc:
For numeric fields, the precision controls the number of decimal places
Examples of precisions:
# precision for `d', 'o', 'x' and 'b' is
# minimum number of digits <------>
sprintf("%20.8d", 123) #=> " 00000123"
sprintf("%20.8d", -123) #=> " -00000123"
This makes a Date test fail so it would be valuable to me if it can be fixed quickly :)
(I looked at Sprintf with jdb but got kind of lost with a width of -3)
Fill 0 for negative decimals if precision is given
If precision is given for negative decimals, fill in 0's as necessary.
This fixes #936.
We'd probably need specs for negative decimals with a given precision. https://github.com/rubyspec/rubyspec/blob/3edae0ad/core/string/modulo_spec.rb#L391-L397 is close, but not quite.
Great! I'll add a ruby spec for that case.
@BanzaiMan added in rubyspec/rubyspec@1a4c38e!