我正在使用 JSR 363“测量单位”和最新的参考实现:
<dependency>
<groupId>javax.measure</groupId>
<artifactId>unit-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>tec.units</groupId>
<artifactId>unit-ri</artifactId>
<version>1.0.2</version>
</dependency>
我想打印出“毫升”UCUM格式,即“mL”:
final UnitFormat unitFormat =
ServiceProvider.current().getUnitFormatService().getUnitFormat();
final Unit<?> unit = MILLI(LITRE);
final String unitString=unitFormat.format(unit);
不幸的是,这给了我“ml”,而不是 UCUM 的“mL”。尽管 JSR 363 规范(和源代码)自始至终都通过引用 UCUM 来取笑我,UnitFormatService.getAvailableFormatNames()
RI 上只给我“ASCII”和“默认”,所以我不能使用getUnitFormat("UCUM")
正如 JSR 363 规范暗示我应该能够做到的那样(只要有人支持 UCUM)。
那么我在哪里可以获得 JSR 363UnitFormat
支持 UCUM 的实施?
请参阅 JSR 363 扩展模块https://github.com/unitsofmeasurement/uom-systems/tree/master/ucum-java8以获得 UCUM 支持。
它为 Java SE 8 上的计量单位统一代码提供支持。
目前 UCUM 更加强大和广泛,解析使用SymbolMap
概念(基于 Java ResourceBundles,尽管它不是本地敏感的),因此我们无法使其可用于 JSR 363 RI。请使用兼容的 Java SE 8 端口UoM SE如果可以的话。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)