相关疑难解决方法(0)

浮点数学是否破碎?

请考虑以下代码:

0.1 + 0.2 == 0.3  ->  false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2         ->  0.30000000000000004
Run Code Online (Sandbox Code Playgroud)

为什么会出现这些不准确之处?

language-agnostic math floating-point floating-accuracy

2798
推荐指数
28
解决办法
28万
查看次数

如何处理JavaScript中的浮点数精度?

我有以下虚拟测试脚本:

function test() {
  var x = 0.1 * 0.2;
  document.write(x);
}
test();
Run Code Online (Sandbox Code Playgroud)

这将打印结果0.020000000000000004,只应打印0.02(如果您使用计算器).据我所知,这是由于浮点乘法精度的误差.

有没有人有一个很好的解决方案,以便在这种情况下,我得到正确的结果0.02?我知道有类似的功能toFixed或舍入将是另一种可能性,但我想真正打印整个数字没有任何切割和舍入.只是想知道你们其中一个人是否有一些漂亮,优雅的解决方案.

当然,否则我会转到大约10位左右.

javascript floating-point

552
推荐指数
22
解决办法
34万
查看次数

405
推荐指数
10
解决办法
13万
查看次数

在Javascript中做什么~~("双波浪")?

我今天正在查看一个在线游戏物理库,并遇到了~~运算符.我知道单个〜是一个按位NOT,是否会使~~不是NOT,它会返回相同的值,不是吗?

javascript

197
推荐指数
7
解决办法
2万
查看次数

使用按位OR 0来设置数字

我的一位同事偶然发现了一种方法来使用按位或者:

var a = 13.6 | 0; //a == 13
Run Code Online (Sandbox Code Playgroud)

我们在谈论它并想知道一些事情.

  • 它是如何工作的?我们的理论是使用这样的运算符将数字转换为整数,从而删除小数部分
  • 它有什么优势Math.floor吗?也许它快一点?(双关语不打算)
  • 它有任何缺点吗?也许它在某些情况下不起作用?清晰度是显而易见的,因为我们必须弄清楚,而且,我正在写这个问题.

谢谢.

javascript floating-point bit-manipulation

178
推荐指数
6
解决办法
4万
查看次数

在javascript中的Bitshift

我有一个非常大的数字:5799218898.并希望将其右移到13位.
所以,windows-calculator或python给了我:

5799218898 >> 13 | 100010100100001110011111100001 >> 13
70791            | 10001010010000111

正如所料.

但是Javascript:

5799218898 >> 13 | 100010100100001110011111100001 >> 13
183624           | 101100110101001000

我认为这是因为javascript中的内部整数表示,但找不到任何相关内容.

javascript bit-shift

21
推荐指数
2
解决办法
1万
查看次数

在 JavaScript 中获取两位小数,而不四舍五入到下一个更大的数字

我有这个JS代码:

var propertyYield = annualRent / propertyValue * 100.0;
Run Code Online (Sandbox Code Playgroud)

在特定场景中,结果为 4.999。

所以当我这样做时

propertyYield.toFixed(2)

我得到的财产收益率为 5.00。

我想要实现的是实际得到 4.99 而不是 5.00 四舍五入到小数点后两位。

我怎样才能做到这一点?

javascript dom-events

1
推荐指数
1
解决办法
8806
查看次数

在 Javascript 中截断双变量?

可能的重复:
在 jquery 中截断十进制数而不是四舍五入

我的变量中有类似5.3777777, 的值。4.6666666Y

我怎样才能截断它,以便它用 JavaScript 显示 5.3 或 5.6?

提前致谢!

javascript jquery

0
推荐指数
1
解决办法
5725
查看次数