Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
1

Как убрать незначащие нули из вещественного числа?

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

Помогите пожалуйста!
Есть число
double value == 12 650 320. 250 000
Как убрать 0 после дисятичной точки.
Заранее благодарен.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2011, 13:49
Ответы с готовыми решениями:

Убрать незначащие нули из double
Добрый день, как убрать незначащие нули из переменной типа double? Проблема в том, что результатом...

Убрать незначащие нули из строки
Добрый день. Есть строка,формата (x-3)(x-4)(x+3.0000)(x+3.250) (Количество скобок может...

Убрать из строкового выражения незначащие нули
Добрый день.Нужно написать функцию,которая на вход получает строку формата (x-1,000000/7) (скобок...

Проверить правильность написания чисел в тексте; встретившиеся в начале числа незначащие нули опустить
Привет, возникла такая проблема Цитирую задание : "Проверить правильность написания чисел в...

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

см. man printf, man scanf
0
Эксперт С++
2359 / 1647 / 275
Регистрация: 29.05.2011
Сообщений: 3,376
21.06.2011, 14:57 7
В стандарте тоже оговорено, что для printf с вещественными типами l не играет роли, в обоих случаях предполагается double. По-крайней мере C99 сейчас смотрел.
0
0 / 0 / 0
Регистрация: 21.06.2011
Сообщений: 3
21.06.2011, 15:24  [ТС] 8
Спасибо большое всем. Я уже разобрался.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2011, 15:24

Удалить незначащие нули числа
В общем есть label, в нем двоичное число. Нужно вывести в текстбокс это число без &quot;незначащих&quot;...

Вывод числа в обратном порядке, учитывая незначащие нули
Я написал программу для вывода числа в обратном порядке, но она не учитывает незначащие нули....

Считая непустое слово P записью двоичного числа, удалить из него незначащие нули, если такие есть
A={0,1}. Считая непустое слово P записью двоичного числа, удалить из него незначащие нули,...

Удалить незначащие нули
в строке из чисел удалить незначащие нули т.е дана строка 005 000035 0005000 05 нужно получить 5...

В двоичной системе счисления не выводить незначащие нули
Здравствуйте помогите пожалуйста, сделать так в программе чтобы в двоичной системе счисления...

Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
Всем доброго дня) я хз как делать эту задачу..помогите плиз..На Borland C for dos.


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

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

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