FAQ:ANSI CPP:задать число знаков после запятой в функции printf — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) (Ветвление FAQ:ANSI CPP.) |
RXL (обсуждение | вклад) |
||
(не показана одна промежуточная версия этого же участника) | |||
Строка 3: | Строка 3: | ||
В printf в спецификаторе числа разрядов можно поставить символ "*". Тогда соответствующий, по порядку, аргумент будет интерпретирован как число знаков. | В printf в спецификаторе числа разрядов можно поставить символ "*". Тогда соответствующий, по порядку, аргумент будет интерпретирован как число знаков. | ||
− | < | + | <syntaxhighlight lang="cpp"> |
− | + | printf("%.*f", 2, 3.1415); // выведет 3.14 | |
− | </ | + | </syntaxhighlight> |
− | Для CString::Format символ "*" не работает! | + | Для CString::Format символ "*" не работает! Можно применить [[FAQ:ANSI CPP:динамически задать число знаков после запятой|альтернативный метод через предварительное формирование строки формата]]. |
[[Category:FAQ:ANSI CPP]] | [[Category:FAQ:ANSI CPP]] |
Текущая версия на 21:50, 4 октября 2009
Как задать число знаков после запятой у float в функции printf?
В printf в спецификаторе числа разрядов можно поставить символ "*". Тогда соответствующий, по порядку, аргумент будет интерпретирован как число знаков.
printf("%.*f", 2, 3.1415); // выведет 3.14
Для CString::Format символ "*" не работает! Можно применить альтернативный метод через предварительное формирование строки формата.