<分区>
这是一个例子:
Double d = (1/3);
System.out.println(d);
这会返回 0,而不是 0.33333...,这是应该的。
有人知道吗?
<分区>
这是一个例子:
Double d = (1/3);
System.out.println(d);
这会返回 0,而不是 0.33333...,这是应该的。
有人知道吗?
最佳答案
那是因为 1
和 3
在您没有另外指定时被视为 整数
,所以 1/3
的计算结果为 integer
0
,然后将其转换为 double
0
。要修复它,请尝试 (1.0/3)
,或者 1D/3
明确声明您正在处理 double 值。
关于java - double 值返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/366237/
相关文章:
java - Weblogic - 主应用程序中的Web应用程序
java - 为什么 Android 有自己的 URI 实现而不使用默认的 Java 实现?
c++ - 在 C++ 中,如何检查一个数字是否可以被 2*M_PI 整除?
sql - 将 SQL 查询中的值除以 1024 以获得以 KB 为单位的大小
algorithm - 具有 32/16 位除法的处理器上的 64/32 位除法
java - 我从 Spring boot 安全设置中收到 "Full authentication is required to access this resource"响应
java - 在java中,从另一个数字字符串中减去1个数字字符串的最佳方法是什么
java - 检测 Bytebuffer 是否包含 int 或仅包含 byte[]