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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.74
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 13:49     как убрать нули с вещественого числа #1
Помогите пожалуйста!
Есть число
double value == 12 650 320. 250 000
Как убрать 0 после дисятичной точки.
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.06.2011, 13:53     как убрать нули с вещественого числа #2
sulia, тебе такой трюк нужен для произвольного числа или только для данного?
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 13:56  [ТС]     как убрать нули с вещественого числа #3
для произвольного вещественного числа
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
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
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.06.2011, 14:41     как убрать нули с вещественого числа #5
Цитата Сообщение от Nameless One Посмотреть сообщение
snprintf(buf, SIZE, "%f", value);
для дабла %lf
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
21.06.2011, 14:53     как убрать нули с вещественого числа #6
Maxwe11, %lf нужен только в семействе функций scanf. Хотя и с ним не ругается.

см. man printf, man scanf
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
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++ Построчно найти любые четыре числа (ячейки) и записать в них нули

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

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

Текущее время: 23:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru