当前位置: 首页 > 知识库问答 >
问题:

Java:分割不像以前那样工作[复制]

裴华荣
2023-03-14
double h = 1/4;
System.out.println((1/4));
System.out.println(h);

输出:

0
0.0

我真的不知道该说什么。这种精确的划分方式在过去一直对我有效。为什么在这种情况下不起作用?此外,(双)(1/4)Math.floorDiv(1,4)都不能正常工作,我已经尝试过了。

共有1个答案

濮阳功
2023-03-14

如果一个除法的所有操作数都是int,那么您将执行int除法,并且它将只提供一个int值(或者如果存储为double,则提供一个int舍入值)

至少有一个操作数应该是双的

double h = 1.0 / 4;
System.out.println(h); // 0.25

h = 1d / 4;
System.out.println(h); // 0.25

h = 1 / 4.0;
System.out.println(h); // 0.25

h = ((double) 1) / 4;
System.out.println(h); // 0.25
 类似资料:
  • 我想使用查找从一个集合中获取一些数据并将其放入另一个集合中。 在localfield或foreignfield中写什么都不重要,因为它从player_game_stats中获取所有数据并将其插入player集合中的每个文档中。我想检查localfield和foreignField是否相等,但lookup不检查这一点。我对mongodb使用NoSqlBooster

  • 我已经尝试了一段时间让smoothScrollToPositionFromTop()工作,但它并不总是滚动到正确的位置。 我有一个ListView(有10个条目)的布局,边上有10个按钮,所以我可以滚动到列表中的每个条目。通常,当我向后或向前滚动一个位置时,效果很好,但是当我试图向后或向前滚动超过3个位置时,ListView并不完全在所选位置结束。当它失败时,它通常会减少0.5到1.5个项目,并且

  • 最后是持久性上下文配置: 我很感谢你的帮助。

  • 15.6 像Java对象那样操作JDBC org.springframework.jdbc.object包能让你更加面向对象化的访问数据库。举个例子,用户可以执行查询并返回一个list, 该list作为一个结果集将把从数据库中取出的列数据映射到业务对象的属性上。你也可以执行存储过程,包括更新、删除、插入语句。 备注:许多Spring的开发者认为下面将描述的各种RDBMS操作类(StoredProc

  • 我有两个Avro模式V1和V2,在spark中读取如下: V1有两个字段“一”和“二” V2 与新字段:“三” 场景:编写器使用 V1 进行写入,读取器使用 V2 对 avro 记录进行解码。我的期望是看到字段3填充了默认值,即null。但是我在spark工作中遇到了以下异常。 我是不是错过了什么?我的理解是avro支持向后兼容。

  • 我使用的是MyBatis Spring Boot Starter 2.1版。3.从移动到Spring靴2.2开始。7(我也尝试过2.2.8和2.3.1,结果相同),我在使用MockBean注释模拟MyBatis接口(例如DAO)时遇到问题。假设我有一个这样的界面: 我想执行一个集成测试,并在我的OrderService中模拟这个映射器,其中包含一个OrderDAO类型的字段。 我的集成测试用@Sp