Java单元转换

时间:2011-04-20 13:23:26

标签: java jscience

我有一个数据库表,可以完整地存储单位名称,如升,千克,毫升,毫克等。我需要一个库来识别这些单位并将其转换为我想要的单位。我该怎么做呢 ?

代码逻辑:

我将从数据库中读取单位“升”并希望将其转换为毫升,因此输入为“20升”,输出应为“20000毫升”

我下载了JScience库,但我不知道该怎么做。请给我打电话如何使用或建议任何替代方案。如果你用代码示例解释我会更好。谢谢!

2 个答案:

答案 0 :(得分:2)

我倾向于使用Frink,但它确实比你需要的更多,虽然它确实解决了问题

20 litres -> milliliters
//gives 20000

它只是一种很酷的小语言。在java中,你必须像任何其他脚本库一样运行它。该网站有大量的信息

答案 1 :(得分:1)

我不知道JScience提供了解析像“20升”这样的字符串的工具(拼写让我感到畏缩......),所以你可能必须自己处理,通过将字符串标记为数量和单位。

一旦你有了这个,你可以使用JScience轻松地在单位之间进行转换,尽管很明显从升到毫升转换是微不足道的。但原则上,它就像是:

Measure<Integer, Volume> input = Measure.valueOf(20, NonSI.LITRE);
Measure<Integer, Volume> output = input.to(SI.MILLI(NonSI.LITRE));

System.out.println(output);