public class Unit extends Object implements Serializable
这个类绝不是单位处理的完整实现。要获得完整支持,请查看像UOM
这样的库。这个类仅处理时间、长度、质量和电流维度,以及角度(无量纲)。
此类的实例是不可变的。
Modifier and Type | Field and Description |
---|---|
static Unit |
AMPERE
安培单位。
|
static Unit |
ARC_MINUTE
角分单位。
|
static Unit |
ARC_SECOND
角秒单位。
|
static Unit |
BAR
巴单位。
|
static Unit |
COULOMB
库仑单位。
|
static Unit |
DAY
天单位。
|
static Unit |
DEGREE
度单位。
|
static Unit |
EARTH_RADII
地球半径用作CCSDS OMM中的Bstar单位。
|
static Unit |
GRAM
克单位。
|
static Unit |
HERTZ
赫兹单位。
|
static Unit |
HOUR
小时单位。
|
static Unit |
JOULE
焦耳单位。
|
static Unit |
KILOGRAM
千克单位。
|
static Unit |
KILOMETRE
千米单位。
|
static Unit |
METRE
米单位。
|
static Unit |
MINUTE
分钟单位。
|
static Unit |
NEWTON
牛顿单位。
|
static Unit |
NONE
无单位。
|
static Unit |
OHM
欧姆单位。
|
static Unit |
ONE
无量纲单位。
|
static Unit |
PASCAL
帕斯卡单位。
|
static Unit |
PERCENT
百分比单位。
|
static Unit |
RADIAN
弧度单位。
|
static Unit |
REVOLUTION
圈单位。
|
static Unit |
SECOND
秒单位。
|
static Unit |
SOLAR_FLUX_UNIT
太阳辐射单位。
|
static Unit |
TESLA
特斯拉单位。
|
static Unit |
TOTAL_ELECTRON_CONTENT_UNIT
总电子含量单位。
|
static Unit |
VOLT
伏特单位。
|
static Unit |
WATT
瓦特单位。
|
static Unit |
YEAR
儒略年单位。
|
Constructor and Description |
---|
Unit(String name, double scale, org.hipparchus.fraction.Fraction mass, org.hipparchus.fraction.Fraction length, org.hipparchus.fraction.Fraction time, org.hipparchus.fraction.Fraction current, org.hipparchus.fraction.Fraction angle)
简单构造器。
|
Modifier and Type | Method and Description |
---|---|
Unit |
alias(String newName)
为单位创建别名。
|
Unit |
divide(String newName, Unit other)
创建单位的商。
|
static void |
ensureCompatible(String description, List<Unit> reference, boolean allowScaleDifferences, List<Unit> units)
确保一些单位与参考单位兼容。
|
boolean |
equals(Object unit)
检查实例是否表示与另一个实例相同的单位。
|
double |
fromSI(double value)
将值从国际单位制转换。
|
double |
fromSI(Double value)
将值从国际单位制转换。
|
org.hipparchus.fraction.Fraction |
getAngle()
获取角度指数。
|
org.hipparchus.fraction.Fraction |
getCurrent()
获取电流指数。
|
org.hipparchus.fraction.Fraction |
getLength()
获取长度指数。
|
org.hipparchus.fraction.Fraction |
getMass()
获取质量指数。
|
String |
getName()
获取单位的名称。
|
double |
getScale()
获取到国际单位制的比例因子。
|
org.hipparchus.fraction.Fraction |
getTime()
获取时间指数。
|
int |
hashCode()
为此单位创建哈希码。
|
Unit |
multiply(String newName, Unit other)
创建单位的乘积。
|
static Unit |
parse(String unitSpecification)
解析单位。
|
Unit |
power(String newName, org.hipparchus.fraction.Fraction exponent)
创建单位的幂。
|
boolean |
sameDimension(Unit other)
检查单位是否与另一个单位具有相同的维度。
|
Unit |
sameDimensionSI()
创建具有相同维度的国际单位制单位。
|
Unit |
scale(String newName, double factor)
缩放单位。
|
Unit |
sqrt(String newName)
创建单位的根。
|
double |
toSI(double value)
将值转换为国际单位制单位。
|
double |
toSI(Double value)
将值转换为国际单位制单位。
|
String |
toString() |
public static final Unit NONE
public static final Unit ONE
public static final Unit PERCENT
public static final Unit SECOND
public static final Unit MINUTE
public static final Unit HOUR
public static final Unit DAY
public static final Unit HERTZ
public static final Unit METRE
public static final Unit KILOMETRE
public static final Unit KILOGRAM
public static final Unit GRAM
public static final Unit AMPERE
public static final Unit RADIAN
public static final Unit DEGREE
public static final Unit ARC_MINUTE
public static final Unit ARC_SECOND
public static final Unit REVOLUTION
public static final Unit NEWTON
public static final Unit PASCAL
public static final Unit BAR
public static final Unit JOULE
public static final Unit WATT
public static final Unit COULOMB
public static final Unit VOLT
public static final Unit OHM
public static final Unit TESLA
public static final Unit SOLAR_FLUX_UNIT
public static final Unit TOTAL_ELECTRON_CONTENT_UNIT
public static final Unit EARTH_RADII
public Unit(String name, double scale, org.hipparchus.fraction.Fraction mass, org.hipparchus.fraction.Fraction length, org.hipparchus.fraction.Fraction time, org.hipparchus.fraction.Fraction current, org.hipparchus.fraction.Fraction angle)
name
- 单位的名称
scale
- 到国际单位制的比例因子
mass
- 质量指数
length
- 长度指数
time
- 时间指数
current
- 电流指数
angle
- 角度指数
public String getName()
public double getScale()
public org.hipparchus.fraction.Fraction getMass()
public org.hipparchus.fraction.Fraction getLength()
public org.hipparchus.fraction.Fraction getTime()
public org.hipparchus.fraction.Fraction getCurrent()
public org.hipparchus.fraction.Fraction getAngle()
public boolean sameDimension(Unit other)
other
- 要检查的其他单位
public Unit sameDimensionSI()
public static void ensureCompatible(String description, List<Unit> reference, boolean allowScaleDifferences, List<Unit> units)
description
- 单位列表的描述(用于生成错误消息)
reference
- 参考单位
units
- 要检查的单位
allowScaleDifferences
- 如果为true,则允许具有相同维度但不同比例的单位(如KILOMETRE
与METRE
),否则它们将触发异常
OrekitException
- 如果单位不兼容(元素数量、维度或比例)
public Unit scale(String newName, double factor)
newName
- 新单位的名称
factor
- 缩放因子
public Unit power(String newName, org.hipparchus.fraction.Fraction exponent)
newName
- 新单位的名称
exponent
- 要应用的指数
public Unit multiply(String newName, Unit other)
newName
- 新单位的名称
other
- 要与之相乘的单位
public Unit divide(String newName, Unit other)
newName
- 新单位的名称
other
- 要除以的单位
public double toSI(double value)
value
- 实例单位的值
public double toSI(Double value)
value
- 实例单位的值
public double fromSI(double value)
value
- 国际单位制单位的值
public double fromSI(Double value)
value
- 国际单位制单位的值
public static Unit parse(String unitSpecification)
单位规范的语法允许链式单位乘法和除法,以及对单位进行幂运算。
用于单位的符号是SI单位及一些扩展。
所有SI前缀(从"y",yocto,到"Y",Yotta)都被接受,以及整数前缀。微10⁻⁶的标准符号是"µ"(U+00B5,微符号),但我们也接受"μ"(U+03BC,希腊字母小mu)。请注意,某些组合是被禁止的,例如"Pa"是帕斯卡,而不是peta年,"as"对于此解析器来说是角秒,而不是atto秒,因为太空领域的许多人使用mas表示毫角秒,µas表示微角秒。请注意,前缀是区分大小写的!整数前缀可用于指定单位,如"30s",但只能在规范的开头使用一次(即"2rev/d²"是被接受的,但"rev/(2d)²"是被拒绝的)。符合SI手册《国际单位制》(第9版,2019年)的规定,每个SI前缀都是单位的一部分,并且在单位符号之前没有分隔符(即MHz被视为一个标识符)。
指数可以以不同的方式指定:
这些规则意味着所有以下(愚蠢的)示例都会被正确解析:MHz,km/√d,kg.m.s⁻¹,µas^⅖/(h**(2)×m)³,km/√(kg.s),km**0.5,2rev/d²
unitSpecification
- 要解析的单位规范
public boolean equals(Object unit)
名称不被考虑,因此别名被视为相等。
Copyright © 2002-2023 CS GROUP. All rights reserved.