Project

General

Profile

Feature #17339

Updated by chumaltd (Takahiro Chuma) about 4 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.

Back