Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.07.2018, 10:23   #41
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

min@y, я понимаю, что пример бесплатный, но он непонятен... Сколько раз говорить мне это нужно? -_-
Novy вне форума   Ответить с цитированием
Старый 03.07.2018, 10:28   #42
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

Я расчитывал на то, что-бы использовать это количество чисел вот как: если чисел 3 (например, число 345) то знаменатель ставится, как 1000 (если подразумевается дробь 0.345) или если чисел 2, то знаменатель = 100.
Novy вне форума   Ответить с цитированием
Старый 03.07.2018, 10:34   #43
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,255
По умолчанию

Цитата:
Сообщение от Novy Посмотреть сообщение
Я расчитывал на то, что-бы использовать это количество чисел вот как: если чисел 3 (например, число 345) то знаменатель ставится, как 1000 (если подразумевается дробь 0.345) или если чисел 2, то знаменатель = 100.
если речь идёт о ЦЕЛЫХ числах, то подсчитать количество цифр задача абсолютно тривиальная - см. Хабр, например - https://habr.com/post/269237/
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 03.07.2018, 10:36   #44
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

Подсчитать кол-во чисел ПОСЛЕ запятой...
Novy вне форума   Ответить с цитированием
Старый 03.07.2018, 10:38   #45
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,255
По умолчанию

Цитата:
Сообщение от Novy Посмотреть сообщение
Подсчитать кол-во чисел ПОСЛЕ запятой...
Цитата:
Сообщение от Novy Посмотреть сообщение
расчитывал на то, что-бы использовать это количество чисел вот как: если чисел ЦИФР 3 (например, число 345) то знаменатель ставится, как 1000
где в этом примере запятая?
вроде бы речь шла про числитель и знаменатель, нет?
Объяснитесь, что у Вас на входе и что надо получить?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 03.07.2018, 10:40   #46
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

0.345 = 345/1000, 4.67 = 4 * 100 + 67 / 100

Пример был выше, но я уже дал тут их. Надеюсь, уяснил.

Последний раз редактировалось Novy; 03.07.2018 в 10:53. Причина: Исправил свою ошибку :v
Novy вне форума   Ответить с цитированием
Старый 03.07.2018, 10:44   #47
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,255
По умолчанию

Цитата:
Сообщение от Novy Посмотреть сообщение
0.345
т.е. на входе у Вас дробное число, которое Вы хотите представить в виде натуральной дроби.

Тогда прислушайтесь к тому, что Вас МНОГОКРАТНО говорили - вводите число в виде строки, разбирайте строку и считайте цифры в строке.
другого решения нет и быть не может.


Цитата:
Сообщение от Novy Посмотреть сообщение
4.67 = (4 * 67) / 100
ого. так у Вас ещё и со школьной арифметикой проблемы.
4.67 НЕ РАВНО (4 * 67) / 100
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 03.07.2018, 10:55   #48
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

Может ошибся с арифметикой, пардон, но я поторопился. Я примерно понимаю, что я должен сделать char-строку, в которую записываю своё число и для неё учитываю следующее условие: если попадается запятая, то начинается счёт чисел и округление с setprecision до последнего числа (округление нужно для того, что-бы лишних чисел не было).
Novy вне форума   Ответить с цитированием
Старый 03.07.2018, 11:13   #49
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 26,255
По умолчанию

Цитата:
Сообщение от Novy Посмотреть сообщение
и округление с setprecision до последнего числа (округление нужно для того, что-бы лишних чисел не было)
Нет. Категорически НЕТ!
Никаких переводов в вещественное число и никаких setprecision
только строка.

Цитата:
Сообщение от Novy Посмотреть сообщение
Я примерно понимаю, что я должен сделать char-строку, в которую записываю своё число и для неё учитываю следующее условие: если попадается запятая, то начинается счёт чисел
не чисел. а ЦИФР.
так и не можете понять разницу, да?
по сути верно. берём строку и считаем цифры после разделителя дробной и целой частей (это называется decimal point - в зависимости от настроек локали это может быть и запятая и точка. Кстати, Вы в своём примере использовали как раз точку! )
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 03.07.2018, 11:24   #50
Novy
Пользователь
 
Регистрация: 28.06.2018
Сообщений: 38
По умолчанию

Сейчас мои мозги расплавятся от этого... Ну тороплюсь я с записью, бывает. Сейчас попробую организовать это дело. Напишу, если будут новости или вопросы.
Novy вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация single float в double float kypck Assembler - Ассемблер 10 23.04.2012 00:22
Float и Double crawter C# (си шарп) 1 19.03.2012 15:46
Ошибка типа cannot convert `float*' to `float' for argument `1' ... Trackman Помощь студентам 3 23.05.2011 17:09
Отображение значений переменных типа float и double(Языки Pascal и C) Сырно Помощь студентам 3 17.10.2010 18:37
float или double? zgest Общие вопросы C/C++ 10 20.03.2010 16:14


17:30.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.