dotfiles/helpers.rb
2026-03-24 12:04:57 +01:00

20 lines
347 B
Ruby

def thousands(n, sep = ',')
s = n.to_s
sign = s[0] == '-' ? '-' : ''
s = s[1..-1] if sign == '-'
int, frac = s.split('.', 2)
out = ''
count = 0
int.reverse.each_char do |c|
out << sep if count > 0 && count % 3 == 0
out << c
count += 1
end
int = out.reverse
frac ? "#{sign}#{int}.#{frac}" : "#{sign}#{int}"
end