From: co.chuma@... Date: 2020-11-21T15:25:25+00:00 Subject: [ruby-core:101009] [Ruby master Feature#17339] Semantic grouping with BigDecimal#to_s Issue #17339 has been updated by chumaltd (Takahiro Chuma). nobu (Nobuyoshi Nakada) wrote in #note-3: > Shouldn't `BigDecimal('1234567').to_s('3F')` return `"1 234 567.0"` (without spaces at the beginning and just before the decimal dot), but not `" 1 234 567 .0"`, right? > > We should consider this statement says nothing about the integer part, I guess now. Thank you for discussion. Yes, I mean "1 234 567.0" without heading space. It's just a mistake. `to_s` may not be changed for consistency. Some new method will be ok. I just couldn't remind "123 456 7.890 12" use case. ---------------------------------------- Feature #17339: Semantic grouping with BigDecimal#to_s https://bugs.ruby-lang.org/issues/17339#change-88678 * Author: chumaltd (Takahiro Chuma) * Status: Open * Priority: Normal ---------------------------------------- # 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 234 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. -- https://bugs.ruby-lang.org/ Unsubscribe: