类 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返回,遵循传递的舍入模式。intcompareTo(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访问分子。doublegetReal()获取数字的实际值。static BigFractiongetReducedFraction(int numerator, int denominator) 使用分数Y/Z的两个部分创建一个BigFraction实例。inthashCode()获取分数的哈希码。intintValue()将分数作为int返回。boolean检查分数是否为整数。long将分数作为long返回。multiply(int i) 将此分数的值乘以传递的整数,以最简形式返回结果。multiply(long l) 将此分数的值乘以传递的长整数,以最简形式返回结果。multiply(BigInteger bg) 将此分数的值乘以传递的BigInteger,以最简形式返回结果。multiply(BigFraction fraction) 将此分数的值乘以另一个分数,以最简形式返回结果。negate()返回此分数的加法逆元,以最简形式返回结果。double将分数百分比作为double返回。doublepow(double exponent) 返回一个值为thisexponent的double,以最简形式返回结果。pow(int exponent) 返回一个值为(this<sup>exponent</sup>)的BigFraction,以最简形式返回结果。pow(long exponent) 返回一个值为thisexponent的BigFraction,以最简形式返回结果。pow(BigInteger exponent) 返回一个值为thisexponent的BigFraction,以最简形式返回结果。返回此分数的乘法逆元。reduce()将此BigFraction约简为最低项。intsignum()返回此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- 要添加的,不能为BigIntegernull。 - 返回:
-
具有结果值的
BigFraction实例。 - 抛出:
-
NullArgumentException- 如果为BigIntegernull。
-
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
-