问题

官方javadocsays这个Math.floor返回一个"等于数学整数"的double,但是为什么它不能返回一个int?

#1 热门回答(69 赞)

根据相同的javadoc:

如果参数为NaN或无穷大或正零或负零,则结果与参数相同。不能用int做到这一点。

最大的double值也大于最大的int,所以它必须是一个很长的。

#2 热门回答(13 赞)

这是为了精确。双数据类型具有53位尾数。除此之外,这意味着double可以代表所有整体,最多2 ^ 53而不会出现精度损失。

如果将这么大的数字存储在整数中,就会出现溢出。整数只有32位。

将整数作为double返回是正确的做法,因为它提供了比整数更广泛的有用数字范围。

#3 热门回答(5 赞)

其他人告诉你为什么,我会告诉你如何正确地打圆,因为你想要这样做。如果你只想使用正数,那么你可以使用以下语句:

int a=(int) 1.5;

但是,(int)总是向0舍入。因此,如果你想做一个负数:

int a=(int) -1.5; //Equal to -1

就我而言,我不想这样做。我使用以下代码进行舍入,它似乎很好地处理了所有边缘情况:

private static long floor(double a)

{

return (int) Math.floor(a);

}

java如何输出双精度数,为什么Math.floor会返回一个双精度数?相关推荐

  1. java abc输出bca_面试题24(写一个函数,例如:给你的 a b c 则输出 abc acb bac bca cab c...

    写一个函数,例如:给你的 a b c 则输出 abc  acb  bac bca  cab  cba? importjava.util.ArrayList; importjava.util.List; ...

  2. Math.ceil(),Math.floor()与Math.round()三个函数的定义。

    为什么80%的码农都做不了架构师?>>>    JavaScript: The Definitive Guide, 4th Edition中对Math.ceil(),Math.flo ...

  3. JS中的Math.ceil和Math.floor函数的用法

    Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 Math.floor(x)--返回小于等于数字参数的最大整数,对数字进行下舍入 例如: document. ...

  4. Javascript Math.ceil与Math.round与Math.floor区别

    Javascript Math.ceil()与Math.round()与Math.floor()区别: Math.ceil()向上舍入 alert(Math.ceil(20.1)) //输出 21 a ...

  5. Math.Floor()和Math.Truncate()之间的区别

    .NET中的Math.Floor()和Math.Truncate()什么区别? #1楼 Math.Floor()符合IEEE标准754第4节"向负无穷大" Math.Floor() ...

  6. Java常用接口与类——Math类、Random类、BigDecimal类

    >Math类 功能:Math类是用来搞数学相关计算的类,构造函数私有化,有很多静态方法: >方法举例,详见API文档 Math.random();//随机返回一个零到一百之间的小数: 另外 ...

  7. java jni 结构体_JAVA 的JNI,传参为结构体问题: 我在网上找的资料://返回一个结构 public native DiskInfo getStruct();...

    Java代码:classDiskInfo{//名字publicStringname;//序列号publicintserial;}//返回一个结构publicnativeDiskInfogetStruc ...

  8. math.floor java_Java Math.floor() 方法

    Java Math.floor() 方法 java.lang.Math.floor() 返回最大的(最接近正无穷大)double值,该值小于或等于参数,并等于某个整数. 1 语法 public sta ...

  9. java 3number_java 数据Number、Math

    一个初出茅庐的小子与大家共享一些关于Number和Math的使用,因水平有限,难免有写的不完善的地方,嘻嘻.看完之后,希望可以留下你珍贵的指导意见. The Numbers Classes 在写代码的 ...

最新文章

  1. Node中require方法的简单实现
  2. 深入理解 C 指针阅读笔记 -- 第一章
  3. 销售订单屏幕增强及功能增强
  4. [转]自用类库整理之SqlHelper和MySqlHelper
  5. Qt下Sqlite数据库操作
  6. python中的装饰器和抽象类
  7. jvm内存结构_JVM系列之内存结构
  8. HTML 5 Canvas
  9. 2021-2025年中国电子薄膜开关行业市场供需与战略研究报告
  10. 数据库连接池为啥要用 ThreadLocal?不用会怎么样?
  11. leetcode771题
  12. android 必读的文章- 收藏集 - 掘金
  13. vbr,cbr,abr区别
  14. 无需Apple ID和密码即可将iPad恢复出厂设置的几种方法
  15. 移动宽带连不上微软服务器,移动宽带有些网站打不开怎么解决?
  16. 2021 编程语言排行榜出炉!
  17. 华为OD机试 - 乱序整数序列两数之和绝对值最小
  18. 谷仓(某校老师原创题)
  19. python+matplotlib对柿子图的彩色和灰色直方图统计
  20. luatos的一些说明

热门文章

  1. 毕业设计 - 基于JSP的合同信息管理系统【源码+论文】
  2. minecraft服务器修改重生点,我的世界重生点设置方法 什么是指令重生
  3. pro缺点和不足 一加7t_一加7TPro和华为P30Pro怎么选 其实两者的缺点都很明显
  4. 短视频运营引流方法——今抖云创
  5. python for循环动态定义变量
  6. Win32汇编学习——windows汇编语法(小甲鱼教程)
  7. 我拿到的网易JAVA实习Offer
  8. 自定义音频播放器_创建自定义HTML5音频播放器
  9. 删除QQ说说/关闭QQ空间
  10. js 停顿一秒_JS实用的带停顿的逐行文本循环滚动效果实例