Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在变量中获得kwh/年的最佳方法是什么_Java - Fatal编程技术网

Java 在变量中获得kwh/年的最佳方法是什么

Java 在变量中获得kwh/年的最佳方法是什么,java,Java,我想知道的是,如果我有一个像200kwh/年这样的变量,那么最好的方法是什么;最简单的方法是使用int、float、double,或者如果您觉得非常精确,可以使用bigdecimic 请记住使用变量名以保持其有意义且易于理解: 示例: double kilowattsPerYear = 200.00d; int kilowattsPerYear = 200; float kilowattsPerYear = 200.00f; BigDecimal kilowattsPeryear = new B

我想知道的是,如果我有一个像200kwh/年这样的变量,那么最好的方法是什么;最简单的方法是使用
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,而不是*)。