Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: си float - выделить значения после запятой?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
andron86
Как в си вывести/выделить значения после запятой (float) и представить в десятичной форме с округлением до 2 знаков? smile3046.gif
Есть ли что готовое, а то неохота всякие там мантиссы считать.
Demeny
Код
float d = 34.76843;
float result;
d = d - (int)d; /* в d имеем 0.76843 */
result = (float)((int)(100.0 * d + 0.5)) / 100.0; /* в result имеем 0.77  */

andron86
Цитата(Demeny @ Mar 30 2012, 08:45) *
Код
float d = 34.76843;
float result;
d = d - (int)d; /* в d имеем 0.76843 */
result = (float)((int)(100.0 * d + 0.5)) / 100.0; /* в result имеем 0.77  */

это понятно, но мне нужно 77 а не 0.77
arexol
Цитата(andron86 @ Mar 30 2012, 09:53) *
это понятно, но мне нужно 77 а не 0.77


77 = 0.77*100 sm.gif
andron86
Цитата(arexol @ Mar 30 2012, 08:57) *
77 = 0.77*100 sm.gif

biggrin.gif мда, это наверное пятница biggrin.gif
редактор
преобразовать к целочисленному значению и вычесть. Либо покопаться в стандартных библиотеках.
Demeny
Цитата(andron86 @ Mar 30 2012, 10:53) *
это понятно, но мне нужно 77 а не 0.77

Это же в корне меняет дело ... rolleyes.gif
Код
float d = 34.76843;
int result = (int)(100.0 * d + 0.5) % 100; /* в result имеем 77  */
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.