类 BigFraction
- 所有已实现的接口:
-
Serializable
,Comparable<BigFraction>
,FieldElement<BigFraction>
- 另请参阅:
-
嵌套类概要
-
字段概要
修饰符和类型字段说明static final BigFraction
代表“4/5”的分数。static final BigFraction
代表“-1 / 1”的分数。static final BigFraction
代表“1”的分数。static final BigFraction
代表“1/5”的分数。static final BigFraction
代表“1/2”的分数。static final BigFraction
代表“1/4”的分数。static final BigFraction
代表“1/3”的分数。static final BigFraction
代表“3/5”的分数。static final BigFraction
代表“3/4”的分数。static final BigFraction
代表“2 / 1”的分数。static final BigFraction
代表“2/5”的分数。static final BigFraction
代表“2/4”的分数。static final BigFraction
代表“2/3”的分数。static final BigFraction
代表“0”的分数。 -
构造器概要
构造器说明BigFraction
(double value) 给定双精度值创建一个分数。BigFraction
(double value, double epsilon, int maxIterations) 给定双精度值和允许的最大误差创建一个分数。BigFraction
(double value, long maxDenominator) 给定双精度值和最大分母创建一个分数。BigFraction
(int num) 创建一个等同于传递的整数的BigFraction
,即“num / 1”。BigFraction
(int num, int den) 给定分子和分母作为简单整数创建一个BigFraction
。BigFraction
(long num) 创建一个等同于传递的长整数的BigFraction
,即“num / 1”。BigFraction
(long num, long den) 给定分子和分母作为简单长整数创建一个BigFraction
。BigFraction
(BigInteger num) 创建一个等同于传递的BigInteger
的BigFraction
,即“num / 1”。BigFraction
(BigInteger num, BigInteger den) 给定分子和分母作为BigInteger
创建一个BigFraction
。 -
方法概要
修饰符和类型方法说明abs()
返回此BigFraction
的绝对值。add
(int i) 将此分数的值添加到传递的整数
,以最简形式返回结果。add
(long l) 将此分数的值添加到传递的长整数
,以最简形式返回结果。add
(BigInteger bg) 将此分数的值添加到传递的BigInteger
,以最简形式返回结果。add
(BigFraction fraction) 将此分数的值添加到另一个分数,以最简形式返回结果。将分数作为BigDecimal
返回。bigDecimalValue
(int scale, RoundingMode roundingMode) 将分数作为BigDecimal
返回,遵循传递的标度和舍入模式。bigDecimalValue
(RoundingMode roundingMode) 将分数作为BigDecimal
返回,遵循传递的舍入模式。int
compareTo
(BigFraction object) 基于大小将此对象与另一个对象进行比较。static Pair
<BigFraction, Boolean> convergent
(double value, int maxConvergents, BigFraction.ConvergenceTest convergenceTest) 返回用于近似给定值的收敛步骤系列的最后一个元素。static Stream
<BigFraction> convergents
(double value, int maxConvergents) 从实数生成一系列收敛数的stream
。divide
(int i) 将此分数的值除以传递的整数
,即this * 1 / i
,以最简形式返回结果。divide
(long l) 将此分数的值除以传递的长整数
,即this * 1 / l
,以最简形式返回结果。divide
(BigInteger bg) 将此分数的值除以传递的BigInteger
,即this * 1 / bg
,以最简形式返回结果。divide
(BigFraction fraction) 将此分数的值除以另一个分数,以最简形式返回结果。double
将分数作为double
返回。boolean
检查两个分数是否相等。float
将分数作为float
返回。作为BigInteger
访问分母。int
作为int
访问分母。long
作为long
访问分母。getField()
获取实例所属的Field
。作为BigInteger
访问分子。int
作为int
访问分子。long
作为long
访问分子。double
getReal()
获取数字的实际值。static BigFraction
getReducedFraction
(int numerator, int denominator) 使用分数Y/Z的两个部分创建一个BigFraction
实例。int
hashCode()
获取分数的哈希码。int
intValue()
将分数作为int
返回。boolean
检查分数是否为整数。long
将分数作为long
返回。multiply
(int i) 将此分数的值乘以传递的整数
,以最简形式返回结果。multiply
(long l) 将此分数的值乘以传递的长整数
,以最简形式返回结果。multiply
(BigInteger bg) 将此分数的值乘以传递的BigInteger
,以最简形式返回结果。multiply
(BigFraction fraction) 将此分数的值乘以另一个分数,以最简形式返回结果。negate()
返回此分数的加法逆元,以最简形式返回结果。double
将分数百分比作为double
返回。double
pow
(double exponent) 返回一个值为thisexponent的double
,以最简形式返回结果。pow
(int exponent) 返回一个值为(this<sup>exponent</sup>)
的BigFraction
,以最简形式返回结果。pow
(long exponent) 返回一个值为thisexponent的BigFraction
,以最简形式返回结果。pow
(BigInteger exponent) 返回一个值为thisexponent的BigFraction
,以最简形式返回结果。返回此分数的乘法逆元。reduce()
将此BigFraction
约简为最低项。int
signum()
返回此BigFraction
的signum函数。subtract
(int i) 从此BigFraction
的值中减去一个整数
的值,以最简形式返回结果。subtract
(long l) 从此BigFraction
的值中减去一个长整数
的值,以最简形式返回结果。subtract
(BigInteger bg) 从此BigFraction
的值中减去一个BigInteger
的值,以最简形式返回结果。subtract
(BigFraction fraction) 从此分数的值中减去另一个分数的值,以最简形式返回结果。toString()
返回表示此分数的String
,即“num / dem”或如果分母为一则只返回“num”。从类继承的方法 java.lang.Number
byteValue, shortValue
从接口继承的方法 org.hipparchus.FieldElement
isZero
-
字段详细资料
-
TWO
代表“2 / 1”的分数。 -
ONE
代表“1”的分数。 -
ZERO
代表“0”的分数。 -
MINUS_ONE
代表“-1 / 1”的分数。 -
FOUR_FIFTHS
代表“4/5”的分数。 -
ONE_FIFTH
代表“1/5”的分数。 -
ONE_HALF
代表“1/2”的分数。 -
ONE_QUARTER
代表“1/4”的分数。 -
ONE_THIRD
代表“1/3”的分数。 -
THREE_FIFTHS
代表“3/5”的分数。 -
THREE_QUARTERS
代表“3/4”的分数。 -
TWO_FIFTHS
代表“2/5”的分数。 -
TWO_QUARTERS
代表“2/4”的分数。 -
TWO_THIRDS
代表“2/3”的分数。
-
-
构造器详细资料
-
BigFraction
创建一个等同于传递的
BigInteger
的BigFraction
,即“num / 1”。- 参数:
-
num
- 分子。
-
BigFraction
创建一个给定分子和分母为BigInteger
的BigFraction
。将BigFraction
约简为最低项。- 参数:
-
num
- 分子,不能为null
。 -
den
- 分母,不能为null
。 - 抛出:
-
MathIllegalArgumentException
- 如果分母为零。 -
NullArgumentException
- 如果任一参数为null
-
BigFraction
给定双精度值创建一个分数。此构造函数与
BigFraction(double, double, int)
的行为不同。它精确地转换双精度值,考虑其内部位表示。这适用于除NaN和无穷大之外的所有值,并且不需要任何循环或收敛阈值。由于此转换是精确的,而双精度数有时会被近似,因此在某些情况下创建的分数可能看起来很奇怪。例如,调用
new BigFraction(1.0 / 3.0)
并不会创建分数1/3,而是创建分数6004799503160661 / 18014398509481984,因为传递给构造函数的双精度数并非完全等于1/3(此数字无法在IEEE754中精确存储)。- 参数:
-
value
- 要转换为分数的双精度值。 - 抛出:
-
MathIllegalArgumentException
- 如果值为NaN或无穷大 - 另请参阅:
-
BigFraction
public BigFraction(double value, double epsilon, int maxIterations) throws MathIllegalStateException 给定双精度值和允许的最大误差创建一个分数。* 参考:
- 连分数 方程(11)和(22)-(26)
- 参数:
-
value
- 要转换为分数的双精度值。 -
epsilon
- 允许的最大误差。结果分数在绝对值上与value
的epsilon
之内。 -
maxIterations
- 收敛数的最大数量。 - 抛出:
-
MathIllegalStateException
- 如果连分数未能收敛。 - 另请参阅:
-
BigFraction
给定双精度值和最大分母创建一个分数。* 参考:
- 连分数 方程(11)和(22)-(26)
- 参数:
-
value
- 要转换为分数的双精度值。 -
maxDenominator
- 分母的最大允许值。 - 抛出:
-
MathIllegalStateException
- 如果连分数未能收敛。
-
BigFraction
public BigFraction(int num) 创建一个等同于传递的
int
的BigFraction
,即“num / 1”。- 参数:
-
num
- 分子。
-
BigFraction
public BigFraction(int num, int den) 给定简单
int
的分子和分母创建一个BigFraction
。将BigFraction
约简为最低项。- 参数:
-
num
- 分子。 -
den
- 分母。
-
BigFraction
public BigFraction(long num) 创建一个等同于传递的
long
的BigFraction
,即“num / 1”。- 参数:
-
num
- 分子。
-
BigFraction
public BigFraction(long num, long den) 给定简单
long
的分子和分母创建一个BigFraction
。将BigFraction
约简为最低项。- 参数:
-
num
- 分子。 -
den
- 分母。
-
-
方法详细资料
-
convergents
从实数生成一个收敛数的stream
。- 参数:
-
value
- 要近似的值 -
maxConvergents
- 最大收敛数。 - 返回:
-
近似
value
的BigFraction
收敛数的stream
- 从以下版本开始:
- 2.1
-
convergent
public static Pair<BigFraction,Boolean> convergent(double value, int maxConvergents, BigFraction.ConvergenceTest convergenceTest) 返回用于近似给定值的收敛步骤系列的最后一个元素。系列在满足给定的
convergenceTest
的第一步或最多maxConvergents
元素后终止。返回的Pair由终端的BigFraction
和一个Boolean
组成,指示它是否满足给定的收敛测试。如果返回的pair的值为false
,则检查了位置maxConvergents
处的元素,但未能满足convergenceTest
。然后调用者可以决定是否接受结果,否则将其丢弃。如果只关注终端元素,则此方法通常比convergents(double, int)
更快。- 参数:
-
value
- 要近似的值 -
maxConvergents
- 要检查的最大收敛数 -
convergenceTest
- 如果系列在某一步收敛的测试 - 返回:
- 收敛数系列的最后一个元素和指示该元素是否满足指定收敛测试的布尔值对
-
getReal
public double getReal()获取数字的实值。- 指定者:
-
getReal
在接口中FieldElement<BigFraction>
- 返回:
- 实值
-
getReducedFraction
使用分数Y/Z的2个部分创建一个
BigFraction
实例。任何负号都解析为在分子上。
- 参数:
-
numerator
- 分子,例如“三分之一”中的三。 -
denominator
- 分母,例如“三分之一”中的一。 - 返回:
- 一个新的分数实例,分子和分母已约简。
- 抛出:
-
ArithmeticException
- 如果分母为零
。
-
abs
返回此
BigFraction
的绝对值。- 返回:
-
作为
BigFraction
的绝对值。
-
isInteger
public boolean isInteger()检查分数是否为整数。- 返回:
- 如果分数是整数,则为true
-
signum
public int signum()返回此BigFraction
的signum函数。如果指定的值为负,则返回值为-1;如果指定的值为零,则返回值为0;如果指定的值为正,则返回值为1。
- 返回:
-
此
BigFraction
的signum函数 - 从以下版本开始:
- 1.7
-
add
将此分数的值添加到传递的
,以最简形式返回结果。BigInteger
- 参数:
-
bg
- 要添加的
,不能为BigInteger
null
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果
为BigInteger
null
。
-
add
将此分数的值添加到传递的
整数
中,并以简化形式返回结果。- 参数:
-
i
- 要添加的整数
。 - 返回:
-
具有结果值的
BigFraction
实例。
-
add
将此分数的值添加到传递的
long
中,并以简化形式返回结果。- 参数:
-
l
- 要添加的long
。 - 返回:
-
具有结果值的
BigFraction
实例。
-
add
将此分数的值添加到另一个分数中,并以简化形式返回结果。
- 指定者:
-
add
在接口中FieldElement<BigFraction>
- 参数:
-
fraction
- 要添加的BigFraction
,不得为null
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果BigFraction
为null
。
-
bigDecimalValue
将分数作为
BigDecimal
返回。这将计算分子除以分母得到的分数。- 返回:
-
分数作为
BigDecimal
。 - 抛出:
-
ArithmeticException
- 如果精确商不具有终止的十进制扩展。 - 另请参阅:
-
bigDecimalValue
按照传递的舍入模式将分数作为
BigDecimal
返回。这将计算分子除以分母得到的分数。- 参数:
-
roundingMode
- 要应用的舍入模式。参见BigDecimal
常量。 - 返回:
-
分数作为
BigDecimal
。 - 抛出:
-
IllegalArgumentException
- 如果roundingMode
不表示有效的舍入模式。 - 另请参阅:
-
bigDecimalValue
按照传递的比例和舍入模式将分数作为
BigDecimal
返回。这将计算分子除以分母得到的分数。- 参数:
-
scale
- 要返回的BigDecimal
商的比例。有关更多信息,请参见BigDecimal
。 -
roundingMode
- 要应用的舍入模式。参见BigDecimal
常量。 - 返回:
-
分数作为
BigDecimal
。 - 另请参阅:
-
compareTo
根据大小将此对象与另一个对象进行比较。
- 指定者:
-
compareTo
在接口中Comparable<BigFraction>
- 参数:
-
object
- 要比较的对象,不得为null
。 - 返回:
-
如果此对象小于
object
,则为-1;如果此对象大于object
,则为+1;如果它们相等,则为0。 - 另请参阅:
-
divide
将此分数的值除以传递的
BigInteger
,即this * 1 / bg
,并以简化形式返回结果。- 参数:
-
bg
- 要除以的BigInteger
,不得为null
- 返回:
-
具有结果值的
BigFraction
实例 - 抛出:
-
NullArgumentException
- 如果BigInteger
为null
-
MathRuntimeException
- 如果要除以的分数为零
-
divide
将此分数的值除以传递的
int
,即this * 1 / i
,并以简化形式返回结果。- 参数:
-
i
- 要除以的int
- 返回:
-
具有结果值的
BigFraction
实例 - 抛出:
-
MathRuntimeException
- 如果要除以的分数为零
-
divide
将此分数的值除以传递的
long
,即this * 1 / l
,并以简化形式返回结果。- 参数:
-
l
- 要除以的long
- 返回:
-
具有结果值的
BigFraction
实例 - 抛出:
-
MathRuntimeException
- 如果要除以的分数为零
-
divide
将此分数的值除以另一个分数,并以简化形式返回结果。
- 指定者:
-
divide
在接口中FieldElement<BigFraction>
- 参数:
-
fraction
- 要除以的分数,不得为null
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果fraction
为null
。 -
MathRuntimeException
- 如果要除以的分数为零
-
doubleValue
public double doubleValue()将分数作为
double
返回。这将计算分子除以分母得到的分数。- 指定者:
-
doubleValue
在类中Number
- 返回:
-
分数作为
double
- 另请参阅:
-
equals
测试两个分数是否相等。如果两个分数的最简分子和分母相同,则认为两个分数相等。
- 覆盖:
-
equals
在类中Object
- 参数:
-
other
- 要与此分数相等进行比较的分数,可以为null
。 - 返回:
-
如果两个分数相等,则为true;如果对象为
null
,不是BigFraction
的实例,或不等于此分数实例,则为false。 - 另请参阅:
-
floatValue
public float floatValue()将分数作为
float
返回。这将计算分子除以分母得到的分数。- 指定者:
-
floatValue
在类中Number
- 返回:
-
作为
float
的分数。 - 另请参阅:
-
getDenominator
以
BigInteger
的形式访问分母。- 返回:
-
作为
BigInteger
的分母。
-
getDenominatorAsInt
public int getDenominatorAsInt()以
int
的形式访问分母。- 返回:
-
作为
int
的分母。
-
getDenominatorAsLong
public long getDenominatorAsLong()以
long
的形式访问分母。- 返回:
-
作为
long
的分母。
-
getNumerator
以
BigInteger
的形式访问分子。- 返回:
-
作为
BigInteger
的分子。
-
getNumeratorAsInt
public int getNumeratorAsInt()以
int
的形式访问分子。- 返回:
-
作为
int
的分子。
-
getNumeratorAsLong
public long getNumeratorAsLong()以
long
的形式访问分子。- 返回:
-
作为
long
的分子。
-
hashCode
public int hashCode()为分数获取哈希码。
-
intValue
public int intValue()将分数作为
int
返回。这将返回分数的整数部分。 -
longValue
public long longValue()将分数作为
long
返回。这将返回分数的整数部分。 -
multiply
将此分数的值乘以传递的
BigInteger
,以简化形式返回结果。- 参数:
-
bg
- 要乘以的BigInteger
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果bg
为null
。
-
multiply
将此分数的值乘以传递的
int
,以简化形式返回结果。- 指定者:
-
multiply
在接口中FieldElement<BigFraction>
- 参数:
-
i
- 要乘以的int
。 - 返回:
-
具有结果值的
BigFraction
实例。
-
multiply
将此分数的值乘以传递的
long
,以简化形式返回结果。- 参数:
-
l
- 要乘以的long
。 - 返回:
-
具有结果值的
BigFraction
实例。
-
multiply
将此分数的值乘以另一个分数,以简化形式返回结果。
- 指定者:
-
multiply
在接口中FieldElement<BigFraction>
- 参数:
-
fraction
- 要乘以的分数,不得为null
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果fraction
为null
。
-
negate
返回此分数的加法逆元,以简化形式返回结果。
- 指定者:
-
negate
在接口中FieldElement<BigFraction>
- 返回:
- 此分数的负数。
-
percentageValue
public double percentageValue()将分数百分比作为
double
返回。这将计算分子除以分母乘以100得到的百分比。- 返回:
-
作为
double
的分数百分比。
-
pow
返回一个值为
(this<sup>exponent</sup>)
的BigFraction
,以简化形式返回结果。- 参数:
-
exponent
- 要将此BigFraction
提高到的指数。 - 返回:
- thisexponent
-
pow
返回一个值为thisexponent的
BigFraction
,以简化形式返回结果。- 参数:
-
exponent
- 要将此BigFraction
提高到的指数。 - 返回:
-
thisexponent作为
BigFraction
。
-
pow
返回一个值为thisexponent的
BigFraction
,以简化形式返回结果。- 参数:
-
exponent
- 要将此BigFraction
提高到的指数。 - 返回:
-
thisexponent作为
BigFraction
。
-
pow
public double pow(double exponent) 返回一个值为thisexponent的
double
,以简化形式返回结果。- 参数:
-
exponent
- 要将此BigFraction
提高到的指数。 - 返回:
- thisexponent
-
reciprocal
返回此分数的乘法逆元。
- 指定者:
-
reciprocal
在接口中FieldElement<BigFraction>
- 返回:
- 此分数的倒数。
-
reduce
将此
BigFraction
约简为最低项。- 返回:
-
简化后的
BigFraction
。如果分数可以约简,则不会更改任何内容。
-
subtract
从此
BigFraction
的值中减去BigInteger
的值,以简化形式返回结果。- 参数:
-
bg
- 要减去的BigInteger
的值,不能为null
。 - 返回:
-
具有结果值的
BigFraction
实例。 - 抛出:
-
NullArgumentException
- 如果BigInteger
为null
。
-
subtract
从此
BigFraction
的值中减去integer
的值,以简化形式返回结果。- 参数:
-
i
- 要减去的integer
的值。 - 返回:
-
具有结果值的
BigFraction
实例。
-
subtract
从此
BigFraction
的值中减去long
的值,以简化形式返回结果。- 参数:
-
l
- 要减去的long
的值。 - 返回:
-
具有结果值的
BigFraction
实例。
-
subtract
从另一个分数的值中减去此分数的值,以简化形式返回结果。
- 指定者:
-
subtract
在接口中FieldElement<BigFraction>
- 参数:
-
fraction
- 要减去的BigFraction
,不能为null
。 - 返回:
-
具有结果值的
BigFraction
实例 - 抛出:
-
NullArgumentException
- 如果fraction
为null
。
-
toString
返回表示此分数的
String
,即 "num / dem" 或如果分母为一则只返回 "num"。 -
getField
获取实例所属的Field
。- 指定者:
-
getField
在接口中FieldElement<BigFraction>
- 返回:
-
实例所属的
Field
-