Я довольно форматирую число с плавающей запятой, но хочу, чтобы оно отображалось как целое число, если нет соответствующего числа с плавающей запятой.Показывать десятичную точку, если компонент с плавающей запятой не является .00 sprintf/printf
I.e.
- 1,20 -> 1.2x
- 1,78 -> 1.78x
- 0,80 -> 0.8x
- 2,00 -> 2x
я могу добиться этого с небольшим количеством регулярных выражений, но интересно, есть ли у нас sprintf
- единственный способ сделать это?
Я делаю это довольно лениво рубина так:
("%0.2fx" % (factor/100.0)).gsub(/\.?0+x$/,'x')
4 года спустя, и я понял, что Regexp тонко вводит в заблуждение. '.gsub (/ (\. 0 +)? x /, 'x')', вероятно, лучше ... –