![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Конвертирование в дробь [D5, Win95/98, WinXP]
Иван © (2002-10-25 10:25:00)Здравствуйте! Хочу задать вопрос: как можно конвертировать число с плавающей точкой в математическую дробь?(Может есть компонент какой?) Например:0,25 -> 1/4;
1,89655172413793103448275862068966 -> 55/29
и т.д. и т.п.
k (2002-10-25 14:05:00) [1]осталось только научиться сокращать дроби, т.е. находить НОД
Dm9 (2002-10-25 12:46:00) [2]Алгоритм такой.
Если дробь конечна, то представлешь в виде X/10^n, потом сокращаешь.
0.25 -> 25/100 -> 1/4
Если после запятой периодический кусок, то делишь этот кусок на 999999... (число девяток = числу цифр в периодической части).
0.(3) -> 3/9 -> 1/3
0.(234) -> 234/999 -> 26/111.
0.0(3) -> 0.(3) / 10 -> 3/9 / 10 -> 1/3 / 10 -> 1/30
MBo (2002-10-25 10:31:00) [3]для рациональных чисел (периодические дроби) см.
http://algolist.manual.ru/forum/viewtopic.php?t=103