Книга: Программирование на языке Ruby

5.5. Форматирование чисел для вывода

5.5. Форматирование чисел для вывода

Для вывода числа в заданном формате применяется метод printf из модуля Kernel. Он практически не отличается от одноименной функции в стандартной библиотеке С. Дополнительную информацию см. в документации по методу printf.

x = 345.6789
i = 123
printf("x = %6.2fn", x) # x = 345.68
printf("x = %9.2en", x) # x = 3.457e+02
printf("i = %5dn i)    # i = 123
printf("i = %05dn", i)  # i = 00123
printf("i = %-5dn, i)  # i = 123

Чтобы сохранить результат в строке, а не печатать его немедленно, воспользуйтесь методом sprintf. При следующем обращении возвращается строка:

str = sprintf ("%5.1f",x) # "345.7"

Наконец, в классе String есть метод %, решающий ту же задачу. Слева от знака % должна стоять форматная строка, а справа — единственный аргумент (или массив значений), результатом является строка.

# Порядок вызова: 'формат % значение'
str = "%5.1f" % x           # "345.7"
str = "%6.2f, %05d" % [x,i] # "345.68, 00123"

Оглавление книги

Оглавление статьи/книги

Генерация: 0.868. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз