Преобразовать System.Double в обыкновенную дробь
От: Mak_71_rus Россия  
Дата: 03.09.10 14:32
Оценка:
Здравствуйте!
Помогите пожалуйста решить задачу: нужно преобразовать число типа System.Double в обыкновенную дробь, т.е. найти числитель и знаменатель этой дроби (они имеют тип System.Numerics.BigInteger).

У меня есть только такая мысль:
1) выделить целую часть и записать её во временной переменной типа System.Numerics.BigInteger;
2) дробную часть умножить на 10^38 (значок ^ обозначает возведение в степень) и записать полученное значение в числитель;
3) знаменателю присвоить значение 10^38;
4) сократить полученную дробь;
5) временную переменную умножить на знаменатель, потом прибавить числитель и результат записать в числитель.

Мне кажется, что можно сделать более рационально.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.