我写的是这段代码:
public static void main(String[] args) {
double g = 1 / 3;
System.out.printf("%.2f", g);
}
Run Code Online (Sandbox Code Playgroud)
结果是0.为什么这样,我该如何解决这个问题?
int totalOptCount = 500;
int totalRespCount=1500;
float percentage =(float)(totalOptCount/totalRespCount);
Run Code Online (Sandbox Code Playgroud)
为什么这总是返回值0.0?另外我想将其格式化为00.00格式并转换为字符串?
下面的函数从共享偏好,权重和高度中获取两个值,我使用它们来计算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) 我正在尝试将华氏度转换为摄氏度.现在我有一个错误,当我使用它时:
double fahrenheit=input.nextDouble();
double celsius= ( **5** /9)*(fahrenheit-32);(Error)
Run Code Online (Sandbox Code Playgroud)
然后我再次尝试给(5.0)那么它的工作原因是什么?
import java.util.*;
import java.lang.*;
import java.io.*;
public class MyClass {
public static void main (final String[] args) {
float distanceInMeters = 0.0f;
long time = 1439230171182L;
long previousTime = 1439230111554L;
float speed = (distanceInMeters / 1000) / ((time - previousTime)/3600000);
System.out.println(speed);
}
}
Run Code Online (Sandbox Code Playgroud)
该计算返回"NaN".有谁知道为什么?
我是java dev中的新手,所以它可能是一个微不足道的问题:
double u130 = (1 / 30);
double q1 = Math.pow(1.025, u130);
Run Code Online (Sandbox Code Playgroud)
q1等于1.0,但应该是1.0008234259155
u130 = 0.0也错了.
我的理解是双倍的小数位,所以问题出在哪里?
顺便说一句,我在Android设备上测试,这应该是一个限制?!
谢谢
为什么在分裂时Java返回?我试过的代码是010/60
double pay_per_minute = (10/60);
Run Code Online (Sandbox Code Playgroud)
10是每小时的工资率,60是分钟.