Feature #17339
Updated by chumaltd (Takahiro Chuma) almost 5 years ago
# Abstract
Thousands, millions, ... should be expressible with `BigDecimal#to_s`.
# Background
`BigDecimal('1234567').to_s('3F')` returns "123 456 7.0".
# Proposal
- Have an option with which `BigDecimal('1234567').to_s('3F')` returns "_1 " _1 234 567_.0". 567_ .0".
- With decimal, `BigDecimal('1234567.8901234').to_s('3F')` should return "1 234 567.890 123 4".
- Default behavior should be the above in long term.
- And/Or, it would be nice to have a pretty method name. I think #to_s('3F') has universal use cases like money calculation.
# Discussion
- International System of Units aka SI defines 3-digit-grouping on long numeric sequence.
https://www1.bipm.org/jsp/en/ViewCGPMResolution.jsp?CGPM=22&RES=10
- Original discussion in 1948 shows some example of 3-digit-grouping.
https://www1.bipm.org/utils/common/pdf/CGPM/CGPM9.pdf#page=117
# Summary
We want to have a natural format.