Получить неотъемлемую часть BigFraction, как BigInteger - PullRequest
2 голосов
/ 08 июля 2010

Какой простой способ получить неотъемлемую часть <a href="http://commons.apache.org/math/api-2.1/org/apache/commons/math/fraction/BigFraction.html" rel="nofollow noreferrer">BigFraction</a> как <a href="http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html" rel="nofollow noreferrer">BigInteger</a>?

По сути, я хочу получить тот же результат, который возвращают методы intValue и longValue, но с произвольной точностью.

Я также хочу избежать округления, поэтому косвенное преобразование через <a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/math/BigDecimal.html" rel="nofollow noreferrer">BigDecimal</a> не подходит.

Ответы [ 3 ]

3 голосов
/ 08 июля 2010

myBigFraction.getNumerator().divide( myBigFraction.getDemoninator() );

0 голосов
/ 08 июля 2010

Это должно сработать.

bigInteger = bigFraction.genNumerator().divide(bigFraction.getDenominator());
0 голосов
/ 08 июля 2010

Вы можете попробовать что-то вроде этого

BigFraction fraction = ...

BigInteger num = fraction.getNumerator();
BigInteger den = fraction.getDenominator();
BigInteger[] divideAndReminder = num.divideAndRemainder(den);

Тогда наконец

BigInteger integralPart = divideAndReminder[0];
...