Java 在变量中获得kwh/年的最佳方法是什么
我想知道的是,如果我有一个像200kwh/年这样的变量,那么最好的方法是什么;最简单的方法是使用Java 在变量中获得kwh/年的最佳方法是什么,java,Java,我想知道的是,如果我有一个像200kwh/年这样的变量,那么最好的方法是什么;最简单的方法是使用int、float、double,或者如果您觉得非常精确,可以使用bigdecimic 请记住使用变量名以保持其有意义且易于理解: 示例: double kilowattsPerYear = 200.00d; int kilowattsPerYear = 200; float kilowattsPerYear = 200.00f; BigDecimal kilowattsPeryear = new B
int
、float
、double
,或者如果您觉得非常精确,可以使用bigdecimic
请记住使用变量名以保持其有意义且易于理解:
示例:
double kilowattsPerYear = 200.00d;
int kilowattsPerYear = 200;
float kilowattsPerYear = 200.00f;
BigDecimal kilowattsPeryear = new BigDecimal("200.00"); //Accepts Several Types
不是Kwh=千瓦时。每年使用SI Kwh是千瓦
因此,一个整数就足够了。取决于应用程序。 简单的答案是,如果这是家庭作业,只需使用
float
或double
。一个float
将为你的家庭作业提供足够的分辨率,并占用最小的内存量。如果您需要一个非常具体的数字,例如用于科学应用,您可能需要使用double
。变量的大小可能没有什么区别,除非您将拥有数百万个数据点,需要节省内存,并且不需要额外的分辨率
如果使用
int
,则只能使用整数数据。但是,如果这是一个计费应用程序,公司可以计费,例如,以0.001
kwh为增量。如果是这种情况,将其存储为0.001
kwh的int
数值将消除浮点运算期间可能出现的舍入误差。这种方法通常在处理金钱时使用。创建自定义数据类型,如
public class CustUnit{
private BigDecimal value;
private String unit;
public CustUnit(String/double/int/long value,String unit){
this.value = new BigDecimal(value);
this.unit = unit;
}
public String getValue(){
return this.value.toString + this.unit;;
}
}
我认为这将更加灵活。您可以将其用于不同类型的单位和值。为什么
int
或double
类型不合适?请您解释一下int
或double
为什么不起作用?您可以存储该值,并且将隐含单位(即,kwh/年
)。您是否在询问最佳数据类型是什么?@oli。如果我想存储22美分/kwh…是否可以存储为双精度或浮点数,如双精度i=.22或浮点数i=。22@SaurabhKumar这是否意味着您需要存储单位来进行计算,输出单位也在哪里计算?也就是说,200kwh/年*22cent/kwh=4400cent/年,计算单位为美分/年,而不是硬编码/隐含?取消单位与整数值有什么关系?我说这可能就足够了-如果你说的是家庭一年使用的基洛瓦数。至于数据类型-这取决于你要用数字做什么。+ 1也考虑使用如果准确的精度是必要的或非常大的(或小)数字需要。+ 1它也将允许你做计算单位,并有一种方法来验证你正在使用正确的变量/运算的计算(比如10kWh/年+22美分/kWh,而不是*)。