Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Помогите пожалуйста!
Есть число
double value == 12 650 320. 250 000
Как убрать 0 после дисятичной точки.
Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 13:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос как убрать нули с вещественого числа (C++):

Как убрать нули - C++
Есть массив, вывожу задом-наперед, так как не знаю сколько именно чисел введет пользователь - делаю его заведома больше чем надо, там где...

Как убрать лишние нули? - C++
Как убрать лишние нули? void Gaus::outPut_AB() { for (int i = 0; i < n; i++) { printf("\t"); for (int j = 0; j < n; j++)...

Как убрать из одномерного массива нули, и всё последующие за нулями цифры сдвинуть? - C++
Как убрать из одномерного массива нули, и всё последующие за нулями цифры сдвинуть? Вот к примеру вышел массив:...

Убрать из текста нули - C++
Доброе утро, прошу помощи с работой над текстом. Дан текстовый файл, в котором нужно из всех чисел убрать начальные нули кроме последнего...

Убрать нули после запятой - C++
Ребят помоги убрать ноли после запятой. Если введу 0,3000000000000000000000000000000000000000 то он пишет что больше 16 символов, а нужно...

Как убрать из одного числа другие маленькие числа? - C++
Задание состоит из двух частей: 1) Убрать из числа 0,2,3,5,7. 2) Убрать все числа, которые делятся на заданный коэффициент. Например...

7
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.06.2011, 13:53 #2
sulia, тебе такой трюк нужен для произвольного числа или только для данного?
0
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 13:56  [ТС] #3
для произвольного вещественного числа
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
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;
}
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.06.2011, 14:41 #5
Цитата Сообщение от Nameless One Посмотреть сообщение
snprintf(buf, SIZE, "%f", value);
для дабла %lf
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
21.06.2011, 14:53 #6
Maxwe11, %lf нужен только в семействе функций scanf. Хотя и с ним не ругается.

см. man printf, man scanf
0
grizlik78
Эксперт С++
1966 / 1459 / 120
Регистрация: 29.05.2011
Сообщений: 3,018
21.06.2011, 14:57 #7
В стандарте тоже оговорено, что для printf с вещественными типами l не играет роли, в обоих случаях предполагается double. По-крайней мере C99 сейчас смотрел.
0
sulia
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 15:24  [ТС] #8
Спасибо большое всем. Я уже разобрался.
0
21.06.2011, 15:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 15:24
Привет! Вот еще темы с ответами:

Перевод в шестнацатиричную систему счисления (убрать лишние нули) - C++
Помоги с задачкой пожалуйста. #include&lt;iostream&gt; using namespace std; void dtas(int num) { cout &lt;&lt; &quot;Число &quot; &lt;&lt; num &lt;&lt;...

Нули после числа - C++
Как сделать так, чтобы когда число выводилось, то после него всегда было &quot;.00&quot;? Напишите, пожалуйста, пример в коде.

Извлечь из записи целого числа нули - C++
Извлеч из записи целого числа нули

Ввод чисел через пробел до определеного числа,убрать оставшиеся числа - C++
Нужно ввести числа через проблем, набор заканчиваеться числом меньше или равно нулю. Пример: 1 2 3 -1 5 6 7 (занести нужно будет...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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