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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840