Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
#1

как убрать нули с вещественого числа - C++

21.06.2011, 13:49. Просмотров 2581. Ответов 7
Метки нет (Все метки)

Помогите пожалуйста!
Есть число
double value == 12 650 320. 250 000
Как убрать 0 после дисятичной точки.
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.06.2011, 13:53     как убрать нули с вещественого числа #2
sulia, тебе такой трюк нужен для произвольного числа или только для данного?
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 13:56  [ТС]     как убрать нули с вещественого числа #3
для произвольного вещественного числа
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.06.2011, 14:32     как убрать нули с вещественого числа #4
Что пришло в голову - перевести число в строку, и у этого числа "отрезать" лишние нули справа:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define SIZE 100
 
char* rtrim(char*, char);
 
int main()
{
    char buf[SIZE];
 
    double value = 12640320.250000;
 
    snprintf(buf, SIZE, "%f", value);
 
    puts(rtrim(buf, '0'));
    
    exit(0);
}
 
char* rtrim(char* buf, char c)
{
    /* Null buf will cause segmentation fault */
 
    char* pbuf = buf + strlen(buf) - 1;
 
    while(pbuf >= buf && *pbuf == c)
    --pbuf;
 
    pbuf[1] = '\0';
 
    return buf;
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.06.2011, 14:41     как убрать нули с вещественого числа #5
Цитата Сообщение от Nameless One Посмотреть сообщение
snprintf(buf, SIZE, "%f", value);
для дабла %lf
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,446
21.06.2011, 14:53     как убрать нули с вещественого числа #6
Maxwe11, %lf нужен только в семействе функций scanf. Хотя и с ним не ругается.

см. man printf, man scanf
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
21.06.2011, 14:57     как убрать нули с вещественого числа #7
В стандарте тоже оговорено, что для printf с вещественными типами l не играет роли, в обоих случаях предполагается double. По-крайней мере C99 сейчас смотрел.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 15:24     как убрать нули с вещественого числа
Еще ссылки по теме:
Нули после числа C++
Извлечь из записи целого числа нули C++
Ввод чисел через пробел до определеного числа,убрать оставшиеся числа C++
C++ Построчно найти любые четыре числа (ячейки) и записать в них нули
Одномерные массивы: Удалить из массива нули и после каждого числа, оканчивающегося на 5, вставить 1 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 15:24  [ТС]     как убрать нули с вещественого числа #8
Спасибо большое всем. Я уже разобрался.
Yandex
Объявления
21.06.2011, 15:24     как убрать нули с вещественого числа
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru