Я преобразование двойного в строку полукокса:Как предотвратить переполнение буфера, преобразуя double в char?
char txt[10];
double num;
num = 45.344322345
sprintf(txt, "%.1f", num);
и с помощью «.1f», чтобы усечь знаки после запятой, к цифре балльных.
i.e. - txt содержит 45.3
Обычно я использую точность в sprintf, чтобы гарантировать, что буфер символов не переполнен. Как я могу сделать это здесь, и усечение десятичной дроби без использования snprintf?
(т.е. если Num = +345694876345,3 по какой-то причине)
Благодаря
EDIT Если Num является> буферирования результата больше не имеет значения, просто не хочу, чтобы врезаться. Не уверен, что в этом случае будет иметь наибольший смысл.
EDIT2 Я должен был сделать это более понятным, чем в теге, что это программа на языке C. У меня возникли проблемы с использованием snprintf в программе на C. I don't want to add any 3rd party libraries.
Что бы вы хотели, чтобы результат был, если он не смог правильно напечатать результат? –