Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSR 363新增装置_Java_Units Of Measurement_Jsr363 - Fatal编程技术网

Java JSR 363新增装置

Java JSR 363新增装置,java,units-of-measurement,jsr363,Java,Units Of Measurement,Jsr363,我使用的是来自maven的参考实现(tec.units:UnitRI) 现在我要加几个单位,比如茶匙,液体盎司等等 我正在扩展Units类以添加如下新单位: public static final Unit<Volume> TEASPOON = addUnit(new TransformedUnit<Volume>("tsp", CUBIC_METRE, new MultiplyConverter(0.000005))); public static final Uni

我使用的是来自maven的参考实现(tec.units:UnitRI)

现在我要加几个单位,比如茶匙,液体盎司等等

我正在扩展Units类以添加如下新单位:

public static final Unit<Volume> TEASPOON = addUnit(new TransformedUnit<Volume>("tsp", CUBIC_METRE, new MultiplyConverter(0.000005)));
public static final Unit TEASPOON=addUnit(新的转换单位(“tsp”),立方米,新的多路转换器(0.000005));
这似乎可以用于转换,但“tsp”不是解析,所以如何将其添加到解析器中

我很难添加华氏温度,例如: T(°F)=T(K)×9/5-459.67


如何使用转换器实现这一点,或者我必须扩展UnitConverter并创建自己的单位吗?

尽管您可以定义自己的单位,但JSR 363等扩展模块中已经提供了常用单位,如茶匙液体盎司

对于基于RI的库。华氏温度也在那里


所有这些系统或“完整SI”系统均可在JCenter public repo上获得。我们计划很快将其同步到MavenCentral,但如果您将其存储库定义添加到Maven(或Gradle等)构建文件中,您可以从JCenter以同样的方式使用它。

谢谢您的提醒。如果使用的是
SimpleUnitFormat
(暂时不使用区域设置),则可能在正确的位置缺少label()表达式


如果您有GitHub帐户,请将其归档,我们将尽快解决此问题。或者提交一份请购单。

我还通过定义自定义单元PARSEC(我知道它已经存在)尝试了这个练习。我正在努力将其打印为Parsec(pc)。我总是把它打印成表。如何实现这一点并将其转换为米、公里等有什么帮助吗?随着下一次更新,PARSEC也将出现在[Unicode CLDR][1]中,在RI和Java SE8+上使用
SimpleUnitformat
。[1] :到目前为止,PARSEC至少存在于UCUM单元系统中,该系统具有专用
UnitFormat
实现的特点,请参阅。通过
SimpleUnitformat
对其中一个调用toString()会返回到实现。它当前不知道所有的UCUM字符串。这可以通过标签完成,但可能会造成一些冗余或“反射”魔法。