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

Java:(int)双可靠吗?

赵俊侠
2023-03-14

当我在java中使用double和其他数字数据类型执行简单的数学运算时,double值似乎随机地与假定的结果略有不同,可能是559999997或6000000002或其他什么。当我转换为int时,double值显然会向下舍入到下一个整数。这是否意味着双精度可以同时为5或6?或者“59999999997”仍然计为6,尽管这取决于二进制浮点值?如果没有,是否有办法让负数向上舍入,但不能从5,5到5999999996的较小值?

>

共有3个答案

李奕
2023-03-14

我不确定我是否理解这个问题。通常,当你将双精度抛给int时,你会加上0.5来获得一个漂亮的回合。

罗奇文
2023-03-14

如果要舍入,可以使用ound()方法。

 double d = 6 +/- some small error
 long l = Math.round(d);

也可以将正数加0.5

 long l = (long) (d + 0.5);

 long l = (long) (d + (d < 0 ? -0.5 : 0.5));
茅桐
2023-03-14

将双精度转换为int总是向下舍入。您可以通过Math.round(双精度)舍入到最接近的整数。由于浮点误差,双精度与您期望的不同。

 类似资料:
  • 海蓝(navy blue)是最为大众所接受的颜色之一。采用这种颜色的色彩组合可解释成可靠、值得信赖的色彩。这类组合也带有不可置疑的权威感。警官、海军军官或法官都穿着深色、稳定的海军蓝,以便在值勤时表现出统率、支配的权威感。 当海军蓝用红和金色来强调时,会变得较不严肃,但仍表达出坚定、有力量的感觉。 补色色彩组合 原色色彩组合 单色色彩组合 21 65 17 65 33 1 65 67 70 65

  • 我需要一个方法,它将接受String数字作为参数,如果它有一个余数,返回双,如果它是十进制,返回int。 我写了这样的代码: 但是,由于这个方法的签名是两倍,它在任何情况下都会返回两倍。 请给我一些提示。

  • 问题内容: 我知道比较两个时会有一些问题。看来这是一个更好的方法。好吧,我正在进行JUnit测试,我倾向于使用。这是断言两个字符串包含相同内容的可靠方法吗?我会使用,但是那样的话您就看不到预期的和实际的失败值。 在相关说明中,是否有人链接到页面或线程,这些链接清楚地说明了问题所在? 问题答案: 在Java中进行比较时应 始终 使用。 JUnit调用该方法以确定方法中的相等性。 因此,您绝对可以放心

  • 在我开始开发我的数学游戏(并且在不断地调整它之后把它交给测试者,但我仍然没有完成!)我使用的及其方法被转换为double可能不是我要找的可靠的救世主类。是为了给像我这样的应用程序生成随机数吗?//这个应用程序的目的是制作一个对所有人都具有挑战性的算术游戏,让你解决整数和浮点参数的问题。我的程序生成的最高数字是一个6位数,这是因为我使用了一些不同的逻辑来处理人类计算器(最高级别)的困难,即除法问题。

  • 问题内容: 因为我不想自己做,所以我正在寻找Java的良好FFT实现。首先,我在这里使用了FFT Princeton的 这个,但是它使用了对象,而我的探查器告诉我,由于这个事实,它的速度并不是很快。所以我再次搜索了一下,发现了一个:更快的FFT Columbia 。也许你们中的一个知道另一种FFT实现?我想拥有“最好的”应用程序,因为我的应用程序必须处理大量的声音数据,并且用户不喜欢等待… ;-)

  • 可靠性指标 很多领域一般都喜欢谈服务可靠性,用几个 9 来说事。这几个 9 其实是粗略代表了概率意义上系统能提供服务的可靠性指标,最初是电信领域提出的概念。 下表给出不同指标下,每年允许服务出现不可用时间的参考值。 指标 概率可靠性 每年允许不可用时间 典型场景 一个九 90% 1.2 个月 不可用 二个九 99% 3.6 天 普通单点 三个九 99.9% 8.6 小时 普通企业 四个九 99.9