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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Kolter
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
#1

Подсчитать количество цифр после запятой в вещественном числе - C++

23.05.2014, 13:53. Просмотров 2616. Ответов 9
Метки нет (Все метки)

Доброго времени суток. Подскажите, пожалуйста, как посчитать кол-во цифр после запятой?
Например в числе 5.4569 -4 знака после запятой. В программе присутствуют как все число n=5.4569,так и дробная часть n1=0.4569.
Заранее спасибо
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 13:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать количество цифр после запятой в вещественном числе (C++):

Количество цифр в вещественном (!) числе - C++
Всем привет! Пытаюсь решить такую задачу, но для дробных чисел ничего не получается :( С целыми числами всё норм. Нужно посчитать к-во...

Определить количество значимых цифр в вещественном числе со знаком - C++
Дано вещественное число, определить количество значимых цифр в вещесвенном числе со знаком.

В строке имеется одна точка с запятой (;). Подсчитать количество символов до точки с запятой и после нее. - C++
В строке имеется одна точка с запятой ( ; ). Подсчитать количество символов до точки с запятой и после нее.

Подсчет количества цифр в вещественном числе - C++
Насколько я понял, сделать это можно лишь с переводом в строковый тип, а вот сделать никак не могу. И да, вещественное число не вводится...

Подсчитать количество цифр 5 в числе - C++
определить количество цифр 5 в записи всех натуральных чисел от 1 до N (N<10^18) включительно.

Цикл: Подсчитать количество цифр A в числе N. - C++
Количество заданных цифр в числе Подсчитать количество цифр a в числе N. я НАПИСАЛ код и не работает!!! WTF??? #include...

9
newbie666
Заблокирован
23.05.2014, 13:55 #2
перегоняй в строку, находи в строке '.' и считай кол-во буковок (циферок в данном случае) посл точки до конца строки
0
Kolter
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
23.05.2014, 13:57  [ТС] #3
С помощью чего это делать? size()?strlen()?Чего именно?
0
dzrkot
zzzZZZ...
522 / 352 / 53
Регистрация: 11.09.2013
Сообщений: 2,022
23.05.2014, 14:06 #4
Цитата Сообщение от Kolter Посмотреть сообщение
С помощью чего это делать? size()?strlen()?Чего именно?
itoa();
0
Tuma
60 / 41 / 18
Регистрация: 28.09.2013
Сообщений: 193
23.05.2014, 14:15 #5
dzrkot, itoa() переводит только из int не?
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.05.2014, 14:20 #6
Цитата Сообщение от Kolter Посмотреть сообщение
Например в числе 5.4569 -4 знака после запятой
Это только так кажется:
C++
1
2
3
4
5
6
7
8
int main()
{
   double d = 5.1234;
   std::cout << d << "\n"; //5.1234
   std::cout << std::setprecision(60) << d << "\n"; //5.123400000000000176214598468504846096038818359375
 
   return 0;
}
0
Kolter
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
23.05.2014, 14:26  [ТС] #7
Ого.Это конечно интересно. Но надо чтобы выводил 4.И c itoa() я совсем запуталась в конверсиях( оба числа типа double. на какой тип конвертировать)
0
newbie666
Заблокирован
23.05.2014, 14:27 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <tchar.h>
#include <iostream>
#include <iomanip> 
#include <sstream>
 
int _tmain(int argc, _TCHAR* argv[])
{
    double number = 3.145926535;    
    std::stringstream ss;
    ss << std::setprecision(15) <<  number;
    std::string strNum = ss.str();
    size_t pos = strNum.find('.');
    if(pos != strNum.npos)          
        std::cout << "Number of digits after comma: " << strNum.size() - 1 - pos << std::endl;  
    else
        std::cout << "Comma not found!" << std::endl;
 
    return 0;   
}
0
Kolter
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 6
23.05.2014, 14:43  [ТС] #9
newbie666, спасибо, посижу,поразбираюсь

Добавлено через 10 минут
Отлично все работает, огромное вам спасиииибо
0
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 798
Записей в блоге: 10
23.05.2014, 15:03 #10
DiffEreD, Оооо !
такая точность ? откуда

больше 15 знаков не канает

Добавлено через 2 минуты
у моей машины
0
23.05.2014, 15:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 15:03
Привет! Вот еще темы с ответами:

Подсчитать количество цифр в натуральном числе - C++
Дано натуральное число. длина числа заранее не известна. подсчитать количество цифр в нем. поменять местами первую и последнюю цифру числа....

Подсчитать количество цифр в заданном натуральном числе. - C++
Подсчитать количество цифр в заданном натуральном числе. (как можно понятнее и проще, если можно)

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

Рекурсия: подсчитать количество цифр в заданном натуральном числе - C++
Доброго времени суток. Задание было такое: Тема - Рекурсивные функции пользователя. Подсчитать количество цифр в заданном натуральном...


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

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

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