Java 数字错误

标签 java

我发现线路有问题:

int xPos = ((x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET; =

出于测试目的,我分配了:

int x = 10;
int maxX = 52;

但是在计算中使用x/maxX时,我得到的是0而不是0.19!

http://s12.postimage.org/uawn8b6l9/image.png

最佳答案

您在这里进行整数除法:

x / maxX

整数除法会截去小数部分。

将参数之一转换为浮点来修复它:

(double)x / maxX

您可能还想将整个内容存储到 double 而不是 int 中:

double xPos = (((double)x / maxX) * X_AXIS_LENGTH) + X_AXIS_OFFSET;

关于Java 数字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9523164/

相关文章:

java - 自定义错误 Controller 中的@Controller和@RequestMapping

java - sbt 更新时未检测到 Java 安装

java - 没有看到使用 Autowired 注释的 bean,没有任何帮助

java - 如何使 StringTokenizer 正确替换字母?

Java:如何从套接字 readline() 生成事件?

java - RSA 将字符串转换为 BigInteger

java - 与属性相比,拆分 ArrayList

java - 使用 Activiti 创建原生查询

java - Hibernate 期待 "all",发现 '(' - 这是什么意思?

java - 未设置作业jar文件,未找到Class WordCountMapper