问题标签 [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.
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) 范围内?
r - 最高有效十进制数字(或 0.3 - 0.1 = 0.1 )
此操作应该返回2
,但1
由于浮点表示,它会返回:
我基本上想要点后的第一个数字,实际以 10 为底的结果,而不是浮点计算机的结果。在这种情况下a
,b
只有一位十进制数字,但在大多数情况下会有更多。例子:
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:认为这确实有效(至少在迄今为止列出的所有情况下):
建议?
python - Python Math.floor 不产生具有大整数的正确值
我目前在 python 中的 math.floor() 函数存在一些问题。我正在尝试计算以下值:
这正在产生答案
我知道这是不对的。我认为这与 Python 对非常大的数字进行算术运算的能力有关——任何人都可以帮忙吗?
谢谢!
objective-c - Objective-C: floorf() 返回错误值
这是代码:
withNoFractions 中存储的值是 2952!应该是2953。真正奇怪的是它工作了一段时间。
objective-c - Objective-C:正确计算到小数点后 3 位
我正在尝试将浮点值设置为小数点后三位。例如,值 2.56976 应为 2.569 而不是 2.570。我搜索并找到了这样的答案:
这样的答案并不准确。例如代码:
可以返回value - 1
,这是不正确的。价值和位置的乘法value * (double)placed)
可能会引入类似:2100.999999996。改成 unsigned int 后变成 2100 是错误的(正确的值应该是 2101)。其他答案也存在同样的问题。在 Java 中,您可以使用BigDecimal
which 来节省所有麻烦。
(注意:当然,将 2100.9999 四舍五入不是一个选项,因为它破坏了将地板的整个想法改为“正确 3 位小数”)
mysql - MySQL table Partition with FLOOR function (partition function not allowed)?
我正在尝试使用以下 RANGE 函数创建分区表
我不断得到
欢迎任何想法谢谢
c++ - Linux C++ ARM-Cross-Compiler floor function bug?
以下示例应用程序应该设置一个整数值:
在我的台式电脑上,这两个功能都正常工作。
如果我使用 arm-gnueabi-toolchain (v4.7.2) 为我的 raspberry 交叉编译它,并将编译后的文件复制到我的 raspberry 上以执行它,使用该函数的floor
函数总是返回零。
如果我在我的覆盆子上编译应用程序,它工作正常。
这是一个错误还是我做错了什么?
更新:
Update2
这不仅仅是双倍的问题。当我尝试返回时,float
我也只得到零。
r - 为什么 floor() 会在 r 中给出意想不到的结果?
这是 r 的一些输出:
我会认为最后一个值会返回 8,尤其是在floor(8)
返回时8
。
任何想法为什么会发生这种情况以及我如何解决它?
haskell - 为什么 floor 会失去精度,它如何影响等式的传递性?
我首先定义一个大整数n
:
接下来我查看了s1
and的行为s2
:
由于可能会丢弃任何小数部分,因此不期望最后 2 个表达式的相等性。但是,我没想到平等是不及物的(例如n == s1, s1 == s2
,但是n != s2
。)
此外,floor
尽管保留了 40 个有效数字,但似乎在整数部分上失去了精度。
在测试减法时,这种损失的精度变得很明显:
为什么会floor
失去精度,这如何违反平等的传递性(如果有的话)?
floor . sqrt
在不损失精度的情况下,最好的计算方法是什么?
mysql - 将 SQL 中的结果截断为整数值
我有不同的数据值(类型),比如10.00
or 2.00
。我怎样才能只得到它的整数值,所以我想得到10
而不是10.00
和2
而不是2.00
?