Android 能量转换
我从一个示例中获取了这段代码,但我不知道如何计算基本单位的值。 这是转换能量的代码:Android 能量转换,android,unit-conversion,Android,Unit Conversion,我从一个示例中获取了这段代码,但我不知道如何计算基本单位的值。 这是转换能量的代码: public enum U_EnergyConverter implements UnitConverter { energy_calories { @Override public double toBaseUnit(double amount) { return amount; } }, energy_joules { @Override publi
public enum U_EnergyConverter implements UnitConverter {
energy_calories {
@Override
public double toBaseUnit(double amount) {
return amount;
}
},
energy_joules {
@Override
public double toBaseUnit(double amount) {
return amount * 4.19;
}
},
energy_kilocalories {
@Override
public double toBaseUnit(double amount) {
return amount * 0.001;
}
};
public abstract double toBaseUnit(double amount);
public double toUnit(double baseUnitAmount) {
return baseUnitAmount * (1 / (toBaseUnit(1)));
}
我在上面代码中使用的金额给了我错误的结果。我不知道从哪个来源可以得到单位换算的精确值
谢谢你的帮助
更新:
这是运行良好的质量单位代码:
public enum MassConverter implements UnitConverter {
mass_g {
@Override
public double toBaseUnit(double amount) {
return amount;
}
},
mass_kg {
@Override
public double toBaseUnit(double amount) {
return amount * 1000.00;
}
},
mass_oz {
@Override
public double toBaseUnit(double amount) {
return amount * 28.3495231;
}
},
mass_lb {
@Override
public double toBaseUnit(double amount) {
return amount * 453.59237;
}
};
public abstract double toBaseUnit(double amount);
public double toUnit(double baseUnitAmount) {
return baseUnitAmount * (1 / (toBaseUnit(1)));
}
像这样改变:
energy_kilocalories {
@Override
public double toBaseUnit(double amount) {
return amount * 1000;
}
};
toBaseUnit
应返回给定单位(如焦耳、千卡等)的卡路里值。这就是正确的示例所做的。你的正好相反。我不明白你的问题<代码>我使用的金额没有给我正确的结果。更明确一些。举个具体的例子。例如,当我把15千卡路里转换成卡路里时,它给了我62802.0,这是错误的,假设它给了我15000卡路里。张贴你用来获得结果的代码。对不起,我是指错误的结果。首先,给我上面贴的代码,给出错误的结果。但是第二个代码运行良好,它是一个从-到卡路里、千卡和焦耳的简单转换。我的意思是相互转换。我已经更新了我的答案,对不起,好吧,我现在就试试:)谢谢