类 Fraction
java.lang.Object
java.lang.Number
org.hipparchus.fraction.Fraction
- 所有已实现的接口:
-
Serializable
,Comparable<Fraction>
,FieldElement<Fraction>
public class Fraction extends Number implements FieldElement<Fraction>, Comparable<Fraction>, Serializable
有理数的表示。
- 另请参阅:
-
嵌套类概要
-
字段概要
修饰符和类型字段说明static final Fraction
代表“4/5”的分数。static final Fraction
代表“-1 / 1”的分数。static final Fraction
代表“1”的分数。static final Fraction
代表“1/5”的分数。static final Fraction
代表“1/2”的分数。static final Fraction
代表“1/4”的分数。static final Fraction
代表“1/3”的分数。static final Fraction
代表“3/5”的分数。static final Fraction
代表“3/4”的分数。static final Fraction
代表“2 / 1”的分数。static final Fraction
代表“2/5”的分数。static final Fraction
代表“2/4”的分数。static final Fraction
代表“2/3”的分数。static final Fraction
代表“0”的分数。 -
构造器概要
-
方法概要
修饰符和类型方法说明abs()
返回此分数的绝对值。add
(int i) 将整数添加到分数。将此分数的值添加到另一个分数,以最简形式返回结果。int
根据大小将此对象与另一个对象进行比较。convergent
(double value, int maxConvergents, Fraction.ConvergenceTest convergenceTest) 返回用于逼近给定值的收敛步骤系列的最后一个元素。convergents
(double value, int maxConvergents) 从实数生成一系列收敛分数的流。divide
(int i) 将分数除以整数。将此分数的值除以另一个分数,以最简形式返回结果。double
将分数作为double
返回。boolean
检查两个分数是否相等。float
将分数作为float
返回。int
访问分母。getField()
获取实例所属的Field
。int
访问分子。double
getReal()
获取数字的实际值。static Fraction
getReducedFraction
(int numerator, int denominator) 使用分数Y/Z的两部分创建一个Fraction
实例。int
hashCode()
获取分数的哈希码。int
intValue()
将分数作为int
返回。boolean
检查分数是否为整数。long
将分数作为long
返回。multiply
(int i) 将分数乘以整数。将此分数的值乘以另一个分数,以最简形式返回结果。negate()
返回此分数的加法逆元。double
将分数百分比作为double
返回。返回此分数的乘法逆元。int
signum()
返回此分数的符号函数。subtract
(int i) 从分数中减去整数。将另一个分数的值从此分数的值中减去,以最简形式返回结果。toString()
返回表示此分数的String
,即“num / dem”或如果分母为1则只返回“num”。从类继承的方法 java.lang.Number
byteValue, shortValue
从接口继承的方法 org.hipparchus.FieldElement
isZero
-
字段详细资料
-
TWO
代表“2 / 1”的分数。 -
ONE
代表“1”的分数。 -
ZERO
代表“0”的分数。 -
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”的分数。 -
MINUS_ONE
代表“-1 / 1”的分数。
-
-
构造器详细资料
-
Fraction
给定双精度值创建一个分数。- 参数:
-
value
- 要转换为分数的双精度值。 - 抛出:
-
MathIllegalStateException
- 如果连分数失败导致无法收敛。
-
Fraction
给定双精度值和允许的最大误差创建一个分数。参考:
- 连分数 方程式 (11) 和 (22)-(26)
- 参数:
-
value
- 要转换为分数的双精度值。 -
epsilon
- 允许的最大误差。结果分数与value
的绝对值在epsilon
范围内。 -
maxIterations
- 最大收敛次数 - 抛出:
-
MathIllegalStateException
- 如果连分数失败导致无法收敛。
-
Fraction
给定双精度值和最大分母创建一个分数。参考:
- 连分数 方程式 (11) 和 (22)-(26)
- 参数:
-
value
- 要转换为分数的双精度值。 -
maxDenominator
- 分母的最大允许值 - 抛出:
-
MathIllegalStateException
- 如果连分数失败导致无法收敛
-
Fraction
public Fraction(int num) 从整数创建一个分数。该分数为num / 1。- 参数:
-
num
- 分子。
-
Fraction
public Fraction(int num, int den) 给定分子和分母创建一个分数。将分数化简为最简形式。- 参数:
-
num
- 分子。 -
den
- 分母。 - 抛出:
-
MathRuntimeException
- 如果分母为零
-
-
方法详细资料
-
convergents
从实数生成一系列收敛分数的流。- 参数:
-
value
- 要逼近的值 -
maxConvergents
- 最大收敛次数。 - 返回:
-
逼近
value
的Fraction
收敛分数流 - 从以下版本开始:
- 2.1
-
convergent
public static Pair<Fraction,Boolean> convergent(double value, int maxConvergents, Fraction.ConvergenceTest convergenceTest) 返回收敛步骤系列的最后一个元素,以逼近给定值。该系列在满足给定的
convergenceTest
或最多检查maxConvergents
个元素后终止。返回的Pair由终端的Fraction
和一个Boolean
组成,指示它是否满足给定的收敛测试。如果返回的pair的值为false
,则检查了位置maxConvergents
的元素,但未能满足convergenceTest
。调用者可以决定是否接受结果,或者丢弃它。如果只关注终端元素,则此方法通常比convergents(double, int)
更快。- 参数:
-
value
- 要逼近的值 -
maxConvergents
- 要检查的最大收敛数 -
convergenceTest
- 系列是否在某一步收敛的测试 - 返回:
- 收敛元素系列的最后一个元素和一个布尔值,指示该元素是否满足指定的收敛测试
-
getReal
public double getReal()获取数字的实际值。- 指定者:
-
getReal
在接口中FieldElement<Fraction>
- 返回:
- 实际值
-
isInteger
public boolean isInteger()检查分数是否为整数。- 返回:
- 如果分数是整数,则为true
-
signum
public int signum()返回此分数的符号函数。如果指定值为负,则返回值为-1;如果指定值为零,则返回值为0;如果指定值为正,则返回值为1。
- 返回:
- 此分数的符号函数
- 从以下版本开始:
- 1.7
-
abs
返回此分数的绝对值。- 返回:
- 绝对值。
-
compareTo
根据大小将此对象与另一个对象进行比较。- 指定者:
-
compareTo
在接口中Comparable<Fraction>
- 参数:
-
object
- 要比较的对象 - 返回:
-
如果此小于
object
,则为-1;如果此大于object
,则为+1;如果它们相等,则为0。
-
doubleValue
public double doubleValue()将分数作为double
获取。这将分数计算为分子除以分母。- 指定者:
-
doubleValue
在类中Number
- 返回:
-
分数作为
double
-
equals
测试两个分数是否相等。如果两个分数的最简分子和分母相同,则认为两个分数相等。 -
floatValue
public float floatValue()将分数作为float
获取。这将分数计算为分子除以分母。- 指定者:
-
floatValue
在类中Number
- 返回:
-
分数作为
float
-
getDenominator
public int getDenominator()访问分母。- 返回:
- 分母。
-
getNumerator
public int getNumerator()访问分子。- 返回:
- 分子。
-
hashCode
public int hashCode()为分数获取哈希码。 -
intValue
public int intValue()将分数作为int
获取。这返回分数的整数部分。 -
longValue
public long longValue()将分数作为long
获取。这返回分数的整数部分。 -
negate
返回此分数的加法逆元。- 指定者:
-
negate
在接口中FieldElement<Fraction>
- 返回:
- 此分数的否定。
-
reciprocal
返回此分数的乘法逆元。- 指定者:
-
reciprocal
在接口中FieldElement<Fraction>
- 返回:
- 倒数分数
-
add
将此分数的值与另一个分数的值相加,以简化形式返回结果。该算法遵循Knuth, 4.5.1。- 指定者:
-
add
在接口中FieldElement<Fraction>
- 参数:
-
fraction
- 要相加的分数,不能为null
- 返回:
-
具有结果值的
Fraction
实例 - 抛出:
-
NullArgumentException
- 如果分数为null
-
MathRuntimeException
- 如果结果的分子或分母超过Integer.MAX_VALUE
-
add
将整数添加到分数。- 参数:
-
i
- 要添加的integer
。 - 返回:
- this + i
-
subtract
从此值减去另一个分数的值,以简化形式返回结果。- 指定者:
-
subtract
在接口中FieldElement<Fraction>
- 参数:
-
fraction
- 要减去的分数,不能为null
- 返回:
-
具有结果值的
Fraction
实例 - 抛出:
-
NullArgumentException
- 如果分数为null
-
MathRuntimeException
- 如果结果的分子或分母无法表示为int
。
-
subtract
从分数中减去整数。- 参数:
-
i
- 要减去的integer
。 - 返回:
- this - i
-
multiply
将此分数的值乘以另一个分数的值,以简化形式返回结果。- 指定者:
-
multiply
在接口中FieldElement<Fraction>
- 参数:
-
fraction
- 用于相乘的分数,不得为null
- 返回:
-
具有结果值的
Fraction
实例 - 抛出:
-
NullArgumentException
- 如果分数为null
-
MathRuntimeException
- 如果结果的分子或分母超过Integer.MAX_VALUE
-
multiply
将分数乘以整数。- 指定者:
-
multiply
在接口中FieldElement<Fraction>
- 参数:
-
i
- 要乘以的整数
- 返回:
- this * i
-
divide
将此分数的值除以另一个分数。- 指定者:
-
divide
在接口中FieldElement<Fraction>
- 参数:
-
fraction
- 要除以的分数,不得为null
- 返回:
-
具有结果值的
Fraction
实例 - 抛出:
-
IllegalArgumentException
- 如果分数为null
-
MathRuntimeException
- 如果要除以的分数为零 -
MathRuntimeException
- 如果结果的分子或分母超过Integer.MAX_VALUE
-
divide
将分数除以整数。- 参数:
-
i
- 要除以的整数
- 返回:
- this * i
-
percentageValue
public double percentageValue()以double
形式获取分数百分比。这将计算分数作为分子除以分母乘以100。- 返回:
-
分数百分比作为
double
。
-
getReducedFraction
创建具有分数Y/Z的2部分的Fraction
实例。任何负号都解析为在分子上。
- 参数:
-
numerator
- 分子,例如'three sevenths'中的three -
denominator
- 分母,例如'three sevenths'中的seven - 返回:
- 具有简化的分子和分母的新分数实例
- 抛出:
-
MathRuntimeException
- 如果分母为zero
-
toString
返回表示此分数的String
,即"num / dem"或如果分母为一则为"num"。 -
getField
获取实例所属的Field
。- 指定者:
-
getField
在接口中FieldElement<Fraction>
- 返回:
-
实例所属的
Field
-