是否有任何开源库可用于代表烹饪单位,例如Java中的Teaspoon和tablepoon?
我只找到了JSR-275(https://jcp.org/en/jsr/detail?id=275),这很棒,但不了解烹饪单位。
答案 0 :(得分:13)
JScience是可扩展的,因此您应该能够创建javax.measure.unit.SystemOfUnits的子类。您将创建许多公共静态最终声明,如下所示:
public final class Cooking extends SystemOfUnits {
private static HashSet<Unit<?>> UNITS = new HashSet<Unit<?>>();
private Cooking() {
}
public static Cooking getInstance() {
return INSTANCE;
}
private static final Cooking INSTANCE = new SI();
public static final BaseUnit<CookingVolume> TABLESPOON = si(new BaseUnit<CookingVolume>("Tbsp"));
...
public static final Unit<CookingVolume> GRAM = TABLESPOON.divide(1000);
}
public interface CookingVolume extends Quantity {
public final static Unit<CookingVolume> UNIT = Cooking.TABLESPOON;
}
只要知道转换因子是什么,定义其他单位和转换就非常简单。
答案 1 :(得分:1)
我猜您可以解析维基页面以进行烹饪测量:Cooking Weights and Measures
它在表格中组织了所有措施,因此解析它们应该很容易。
答案 2 :(得分:1)
这可能有用:JUnitConv。它是用于转换单元(包括烹饪单元)的Java小程序,但它是GPL许可的,因此您可以下载源并调整相关部件供您自己使用。
另一方面,看起来创建一个符合JSR 275的CookingUnits
类应该不难。(这就是我要做的)
答案 3 :(得分:1)
我担心,我们无法帮助你使用JSR-275,因为它被拒绝,但JSR-363刚刚在9月份进入决赛,所以如果你对像“烹饪单位”这样的单位系统有个好主意的话,请在UoM-Systems下告诉我们。