首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java数学结果类型

java数学结果类型
EN

Stack Overflow用户
提问于 2012-01-04 23:42:40
回答 4查看 387关注 0票数 2

我在网站上找不到这些规则(肯定是因为我用谷歌搜索了错误的东西),所以我在这里询问。

将整型除以整型并存储在双精度型中总是首先存储四舍五入的整数。我所能找到的唯一方法是在除法之前将两个值都转换为双精度。一定有更好的办法。

另外,返回类型的规则在哪里?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-04 23:45:40

在编程语言中,有两种类型的操作:

Operations

  • Floating点运算(浮点型,双精度型)
  • 整数

如果两个操作数是整数类型,则执行整数运算。

如果两个操作数中的任何都是浮点类型,则浮点运算将被执行。

因此,

代码语言:javascript
复制
Int / Int --------> int
Double / Int -----> Double
Double / Double --> Double
票数 3
EN

Stack Overflow用户

发布于 2012-01-04 23:43:48

实际上,不会有更好的方法。将整型除以整型得到整型。因此,假设您除以5/2 --因为2和3之间没有整数,所以您得到2。如果您想要一个浮点结果,您需要将其中一个设为浮点类型;而不是

代码语言:javascript
复制
 int f=5, t=2;
 double result;

 result = f/t;

搞定

代码语言:javascript
复制
 result = f / (double) t ;

使用类型转换来告诉它“我想要浮点除法该死!”

票数 4
EN

Stack Overflow用户

发布于 2012-01-04 23:45:48

您只需强制转换一个参数即可使结果为双精度

代码语言:javascript
复制
int a,b;
double d = (double) a / b;

一种更简单的方法是从一开始就使用替身。

代码语言:javascript
复制
double a, b;
double d = a / b;

double可以表示每个可能的int值,而不会出现舍入误差。

可能的重复项:How to divide two large integers in java?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8729564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档