Преобразование дробей

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Преобразование дробей

Сообщение Sedge » 18.02.2004 (Ср) 16:35

У кого-нибудь есть на примете формализованный алгоритм преобразования десятичных дробей в обыкновенные?

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 18.02.2004 (Ср) 16:58

Это в смысле дробь типа 1/2 надо в 0.5 перевести :lol:.
Ну могу написать процедуру деления тебе за $$$ :D

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 18.02.2004 (Ср) 17:05

Хм, уважаемый пан не в курсе, что такое десятичная дробь? :lol: Сочувствую :D
Нет, это как раз наоборот. Допустим, 4,8 перевести в 4 4/5. Собственно, тут все упирается в поиск максимального целого делителя общего для числителя и знаменателя... Уж больно нет желания искать его простым перебором. Наверняка есть более элегантный способ...

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.02.2004 (Ср) 17:53

М.б. немного не то, но вдруг поможет... :roll:
Нет меня больше

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 19.02.2004 (Чт) 7:57

щас пока напишу, как бес/кон период. дроби в обык. переводить (потом про НОД напишу). Например, число 0.(6) (щас просто ухожу)

x = 0.666666666666
тогда* 10x = 6.666666666666
Тогдп 10x-x=9x=6.
Пожтому x = 6/9=2/3.

(*) домножать надо на количество цифр в периоде. То есть если бы их было две, то домножали бы на 100 (например для числа 0.232323)
Изображение

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 05.08.2004 (Чт) 16:35

Набрел тут на свой старый постинг...
Как водится, проблема благополучно решилась совершенно другим способом 8) Задача, собственно, была в сложении и вычитании обычных дробей между собой. Ну хотел заказчик все действия в дюймах вести, извращенец этакий :) Так что может кому пригодится.
Вложения
clsMath.zip
Класс очень узкоспециализированный, к тому же без коментариев (ну лень мне было их писать) 8)
(2.09 Кб) Скачиваний: 28


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 24

    TopList  
cron