Module: YaKansuji::Formatter::Gov
- Defined in:
- lib/ya_kansuji/formatter/gov.rb
Overview
Formatter for Japan government-style kansuji
Class Method Summary collapse
Class Method Details
.call(num, _options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ya_kansuji/formatter/gov.rb', line 9 def call(num, = {}) int, frac = Formatter.split_fraction(num) frac.empty? ? frac_part = nil : frac_part = ".#{frac.join}" return frac_part ? "0#{frac_part}" : '0' if int.zero? parts = [] chunks = Formatter.split_by_unit4(int) (chunks.size - 1).downto(0) do |idx4| i4 = chunks[idx4] next if i4.zero? && !(idx4.zero? && frac_part) unit4 = Formatter::UNIT4_UNITS[idx4] if i4 == 1 parts << "1#{unit4}" next end parts << (i4.to_s + unit4) end ret = parts.join(', ') ret << frac_part if frac_part ret end |