我在Java中有一个非常简单的划分(它是每小时的产品数量/产量),但每当我进行这个划分时,我都会遇到奇怪的错误:
float res = quantity / standard;
Run Code Online (Sandbox Code Playgroud)
我已经尝试了上面的几个值的分区,但我总是得到错误,但是我在其他地方尝试并且正确的那个是这样的:
世界各地:
13.6 = 6800 / 500;
Run Code Online (Sandbox Code Playgroud)
Java的:
13.0 = 6800 / 500;
Run Code Online (Sandbox Code Playgroud)
我已经研究过BigDecimal和BigInteger,但是我还没有找到用它们创建这个除法的方法,有没有其他方法在Java中进行这种划分而没有精度错误?
任何帮助将不胜感激.
我试图划分两个整数并乘以100,但它只给出0或100.有人可以帮我吗?
int x= (a/b)*100;
Run Code Online (Sandbox Code Playgroud)
如果a为500且b为1000,则会给我0.如果a> = b,它将给我100的唯一时间.我怎样才能解决这个问题?
谢谢
下面的函数从共享偏好,权重和高度中获取两个值,我使用它们来计算BMI,当我打印值的内容时,我得到我在sharedprefs中输入的值(这很好)但是当我运行时对它们进行除法运算,结果总是得到0 ..错误在哪里?
public int computeBMI(){
SharedPreferences customSharedPreference = getSharedPreferences(
"myCustomSharedPrefs", Activity.MODE_PRIVATE);
String Height = customSharedPreference.getString("heightpref", "");
String Weight = customSharedPreference.getString("weightpref", "");
int weight = Integer.parseInt(Weight);
int height = Integer.parseInt(Height);
Toast.makeText(CalculationsActivity.this, Height+" "+ Weight , Toast.LENGTH_LONG).show();
int bmi = weight/(height*height);
return bmi;
}
Run Code Online (Sandbox Code Playgroud)