System.out.println(Math.pow(16, 0.5)); is 4.0
Run Code Online (Sandbox Code Playgroud)
和
System.out.println(Math.pow(16, (1/2))); is 1.0
Run Code Online (Sandbox Code Playgroud)
为什么???我需要使用分数!
double wang = 3 / 2;
Log.v("TEST", "Wang: " + Double.toString(wang));
Run Code Online (Sandbox Code Playgroud)
Logcat输出......
07-04 09:01:03.908: VERBOSE/TEST(28432): Wang: 1.0
Run Code Online (Sandbox Code Playgroud)
我确信这有一个明显的答案,可能我只是整夜编码累了,但这让我很难过.
由于某种原因,我的数学只返回0.值已设置,我已检查.
int currentSize = 4079;
int totalSize = 500802;
int percentage = ((currentSize/totalSize) * 100);
progdialog.setProgress(percentage);
Run Code Online (Sandbox Code Playgroud)
百分比总是等于百分比.为什么?
可能重复:
Java整数除法:你如何产生双重?
当我将2个数字分开以尝试获得类似.90的数字时,我会持续获得1.0或0.0
int number1 = 6517253;
int number2 = 7195629;
double number3 = number1 / number2; //returns 0.0 supposed to be 0.9057239 and I want 0.90
double number4 = number2 / number1; //returns 1.0 supposed to be 1.1040893 and don't really want that one
Run Code Online (Sandbox Code Playgroud)
如果我将double更改为float,则会执行相同的操作.
我试图将两个数字除以得到一个百分比,然后打印出来.这是相关的方法:
public void process_winner(String candidates[], int votes[])
{
double percent = (mostVotes / votes.length) * 100;
if (mostVotes > votes.length / 2)
System.out.println("Winner: " + candidates[mostVotesIndex] + "(" + percent + "%)");
else
System.out.println("None (no majority)");
System.out.println("");
}
Run Code Online (Sandbox Code Playgroud)
问题是:
double percent = mostVotes / votes.length;
Run Code Online (Sandbox Code Playgroud)
mostVotes是int,值为6,votes.length是10.我使用调试器验证了这一点.
当我的百分比变量显示为60.0时,它显示的值为0.0
我的项目中有以下代码:
int percent = 2;
int count = 10;
int percentagefill = (percent/10)*count;
System.out.println(percentagefill);
Run Code Online (Sandbox Code Playgroud)
基本上发生了什么,我正在设置两个变量,百分比和计数.然后我计算填充百分比.由于一些奇怪的原因,填充百分比导致0,在这种情况下它应该是2.任何想法为什么?提前致谢.
我跑的时候
public static void main(String[] args)
{
float num = 145/156;
System.out.println(num);
}
Run Code Online (Sandbox Code Playgroud)
我得到输出0.0,但预期输出是0.92948717.任何帮助表示赞赏.
我使用以下算法来计算两点之间的距离,但它产生了不合理的结果.我哪里错了?
private static double distFrom(double latA, double lngA, double latB, double lngB) {
double pk = 180/3.14169;
double a1 = latA / pk;
double a2 = lngA / pk;
double b1 = latB / pk;
double b2 = lngB / pk;
double t1 = Math.cos(a1)*Math.cos(a2)*Math.cos(b1)*Math.cos(b2);
double t2 = Math.cos(a1)*Math.sin(a2)*Math.cos(b1)*Math.sin(b2);
double t3 = Math.sin(a1)*Math.sin(b1);
double tt = Math.acos(t1 + t2 + t3);
return 3959*tt;
}
Run Code Online (Sandbox Code Playgroud) 在Java中执行以下操作时,我得到结果0.0.即使结果应为10.这是一个示例计算,在我的代码中,它使用double值进行此操作.
double result = (10 / 100) * 100;
Run Code Online (Sandbox Code Playgroud)