【发布时间】:2015-11-23 14:29:53
【问题描述】:
我有一些“参考”浮点数(例如 1.5、3 和 7.1),有没有办法让其他一些“随机”浮点数四舍五入到最接近的浮点数括号中的强>? (我的意思是如果有类似round的东西,它可以取参考值进行四舍五入)
或者有什么方法可以将一些数字从 2 舍入到接近 1(当然除了手动决定)?
我在 Math 中没有找到任何方法,也许是一些外部库? 还是为此编写自己的方法更好(从括号中获取每个值的绝对差异并获得最小的值)? 我知道这是陈词滥调,但它可能很有用..
感谢您的回复
编辑- 例如。: 如果我愿意
- "round" 1,得到 1.5
- 第5轮,获得3
- 第8轮,得到7.7
- 第 1.7 轮,得到 1.5
等等。
【问题讨论】:
-
你能举一些例子来说明你的意思吗?这对我们来说很容易理解..
-
所以你想“四舍五入”
2.24 to 1.5、2.26 to 3、5.04 to 3和5.06 to 7.1?如果是这样,则不适用正常的四舍五入规则(例如,向上四舍五入但不包括 0.5,在 0.5 之后向上四舍五入),您必须制定自己的规则。 -
不,不,我的意思是例如。数字“四舍五入” - 1.8 - 所以从括号中获得最接近的一个 - 所以在这种情况下是 1.5,数字要四舍五入 - 5.2 - 得到 7.1,3 得到 3,4 得到 3,等等。
-
哈,在这种情况下会有问题,例如。如果我想进行第 2 轮,因为 0.5 到 3 和 1.5 x) 之间存在差异,但只是举例 :) 抱歉,hinneLinks,你的示例看起来很棒 :)
-
你不需要得到每个值的差异:如果你的参考数字数组是排序的,你可以对你的结果进行二进制搜索,两个邻居就是你需要的检查距离。其他所有元素必然会更进一步。