[学习笔记]Javascript采用二进制浮点数和四舍五入的错误
2023-09-11 14:18:07 时间
1.样例
var a = .3 - .2 //0.09999999999999998 var b = .2 - .1 //0.1 a == b //false
出现这样的原因在于
1.Javascript采用IEEE-754浮点数表示法(几乎所有现代编程语言所采用),这事一种二进制表示法,可以精确地表示1/2, 1/8,1/1024的值,而我们常用十进制的分数1//10,1/100
2.实现有无数个,但是Javascript通过浮点数的形式只能表示其中有限的个数(确切说是18437736874454810627个,2^64 = 18446744073709551616),即Javascript中使用实数的时候,常常只是真实值的一个近似表示。
相关文章
- javascript语言扩展:可迭代对象(4)
- javascript 链式写法
- 第一百二十三节,JavaScript错误处理与调试
- JavaScript经典代码【一】【javascript HTML控件获取值】
- JavaScript 计时事件
- [Javascript] Safely Access a Property on a JavaScript Array with Optional Chaining
- [Javascript] Link to Other Objects through the JavaScript Prototype Chain (Object.setPrototypeOf())
- [Javascript] Customize Behavior when Accessing Properties with Proxy Handlers
- [Javascript] What is JavaScript Function Currying?
- JavaScript中对象分类
- [Javascript] Link to Other Objects through the JavaScript Prototype Chain (Object.setPrototypeOf())
- [Functional Programming] Draw Items from One JavaScript Array to Another using a Pair ADT
- [Javascript] Await a JavaScript Promise in an async Function with the await Operator
- [Testing] Config jest to test Javascript Application -- Part 1
- [Javascript] Compose multiple functions for new behavior in JavaScript
- [Javascript] Validate Data with the Every() Method
- [Javascript] Hoisting in JavaScript
- Javascript继承机制的设计思想
- 简搭(jabdp)之编写javascript(一)
- web前端框架Javascript开发基础之JavaScript作用域