问题标签 [floor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1426 浏览

javascript - JavaScript Math.floor:保证数字如何四舍五入?

我想规范化一个数组,使每个值都在 [0-1) 中。即最大值永远不会是 1,但最小值可以是 0。这与返回相同范围内的数字的随机函数没有什么不同。

看着这个,我发现 .99999999999999999===1 是真的!同上 (1-Number.MIN_VALUE) === 1 但是 Math.ceil(Number.MIN_VALUE) 应该是 1。其他一些: Math.floor(.999999999999) 为 0 而 Math.floor(.99999999999999999) 为 1

好的,所以 JS 中存在舍入问题。

有什么方法可以将一组数字归一化,使其位于 [0,1) 范围内?

0 投票
1 回答
314 浏览

r - 最高有效十进制数字(或 0.3 - 0.1 = 0.1 )

此操作应该返回2,但1由于浮点表示,它会返回:

我基本上想要点后的第一个数字,实际以 10 为底的结果,而不是浮点计算机的结果。在这种情况下ab只有一位十进制数字,但在大多数情况下会有更多。例子:

  • 0.3-0.1=0.2所以我想要2
  • 0.5-0.001=0.499所以我想要4
  • 0.925-0.113=0.812所以我想要8
  • 0.57-0.11=0.46所以我想要4
  • 0.12-0.11=0.01所以我想要0

也就是说,不是舍入而是截断。我想用这个:

但我不确定这是否是我能做的最好的。

更新:确实,它不起作用(见下面的评论):

更新2:认为这确实有效(至少在迄今为止列出的所有情况下):

建议?

0 投票
4 回答
1119 浏览

python - Python Math.floor 不产生具有大整数的正确值

我目前在 python 中的 math.floor() 函数存在一些问题。我正在尝试计算以下值:

这正在产生答案

我知道这是不对的。我认为这与 Python 对非常大的数字进行算术运算的能力有关——任何人都可以帮忙吗?

谢谢!

0 投票
1 回答
6817 浏览

objective-c - Objective-C: floorf() 返回错误值

这是代码:

withNoFractions 中存储的值是 2952!应该是2953。真正奇怪的是它工作了一段时间。

0 投票
3 回答
1487 浏览

objective-c - Objective-C:正确计算到小数点后 3 位

我正在尝试将浮点值设置为小数点后三位。例如,值 2.56976 应为 2.569 而不是 2.570。我搜索并找到了这样的答案:

小数点双倍下限

这样的答案并不准确。例如代码:

可以返回value - 1,这是不正确的。价值和位置的乘法value * (double)placed)可能会引入类似:2100.999999996。改成 unsigned int 后变成 2100 是错误的(正确的值应该是 2101)。其他答案也存在同样的问题。在 Java 中,您可以使用BigDecimalwhich 来节省所有麻烦。

(注意:当然,将 2100.9999 四舍五入不是一个选项,因为它破坏了将地板的整个想法改为“正确 3 位小数”)

0 投票
1 回答
3805 浏览

mysql - MySQL table Partition with FLOOR function (partition function not allowed)?

我正在尝试使用以下 RANGE 函数创建分区表

我不断得到

欢迎任何想法谢谢

0 投票
1 回答
1035 浏览

c++ - Linux C++ ARM-Cross-Compiler floor function bug?

以下示例应用程序应该设置一个整数值:

在我的台式电脑上,这两个功能都正常工作。

如果我使用 arm-gnueabi-toolchain (v4.7.2) 为我的 raspberry 交叉编译它,并将编译后的文件复制到我的 raspberry 上以执行它,使用该函数的floor函数总是返回零。

如果我在我的覆盆子上编译应用程序,它工作正常。

这是一个错误还是我做错了什么?

更新:

Update2 这不仅仅是双倍的问题。当我尝试返回时,float我也只得到零。

0 投票
0 回答
49 浏览

r - 为什么 floor() 会在 r 中给出意想不到的结果?

这是 r 的一些输出:

我会认为最后一个值会返回 8,尤其是在floor(8)返回时8

任何想法为什么会发生这种情况以及我如何解决它?

0 投票
1 回答
161 浏览

haskell - 为什么 floor 会失去精度,它如何影响等式的传递性?

我首先定义一个大整数n

接下来我查看了s1and的行为s2

由于可能会丢弃任何小数部分,因此不期望最后 2 个表达式的相等性。但是,我没想到平等是不及物的(例如n == s1, s1 == s2,但是n != s2。)

此外,floor尽管保留了 40 个有效数字,但似乎在整数部分上失去了精度。

在测试减法时,这种损失的精度变得很明显:

为什么会floor失去精度,这如何违反平等的传递性(如果有的话)?

floor . sqrt在不损失精度的情况下,最好的计算方法是什么?

0 投票
2 回答
1237 浏览

mysql - 将 SQL 中的结果截断为整数值

我有不同的数据值(类型),比如10.00or 2.00。我怎样才能只得到它的整数值,所以我想得到10而不是10.002而不是2.00