79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Numbers | |||
|  | localeTitle: 数字 | |||
|  | --- | |||
|  | ## 数字
 | |||
|  | 
 | |||
|  | JavaScript `number`的实现基于`IEEE 754`标准,通常称为“浮点”。 | |||
|  | 
 | |||
|  | [IEEE 754维基百科链接](https://en.wikipedia.org/wiki/IEEE_754) [IEEE 754双精度浮点可视化](http://bartaz.github.io/ieee754-visualization/) | |||
|  | 
 | |||
|  | 数字文字通常表示为`base-10`十进制文字。 | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var foo = 47;  | |||
|  |  var bar = 47.9;  | |||
|  | ``` | |||
|  | 
 | |||
|  | 十进制值的前导部分(如果为`0` )是可选的: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var same = 0.47;  | |||
|  |  var stillSame = .47;  | |||
|  | ``` | |||
|  | 
 | |||
|  | 同样,后面的十进制值的尾部(小数) `.` ,如果为`0` ,则是可选的: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var a = 47.0;  | |||
|  |  var b = 47.;  | |||
|  | ``` | |||
|  | 
 | |||
|  | 默认情况下,大多数数字将输出为`base-10`小数,并删除尾随小数`0` 。所以: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var foo = 47.300;  | |||
|  |  var bar = 47.0;  | |||
|  |   | |||
|  |  foo; // 47.3  | |||
|  |  bar; // 47  | |||
|  | ``` | |||
|  | 
 | |||
|  | 非常大或非常小的`numbers`可写为: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var foo = 47e8; // 4700000000  | |||
|  |  var baz = 47e-8; // 00.00000047  | |||
|  | ``` | |||
|  | 
 | |||
|  | `toExponential`方法可用于将`number`转换为`exponential notation` 。 | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var foo = 47e8;  | |||
|  |  foo;  // 4700000000  | |||
|  |  foo.toExponential()   //"47e8"  | |||
|  | ``` | |||
|  | 
 | |||
|  | Numbers可以访问`Number.prototype`中内置的方法。 | |||
|  | 
 | |||
|  | 例如: `toFixed()`方法格式化一个具有小数点右侧特定位数的数字。 | |||
|  | 
 | |||
|  | ```javascript | |||
|  | var foo = 47.69;  | |||
|  |  foo.toFixed(0);  // "48"  | |||
|  |  foo.toFixed(1);  // "47.7"  | |||
|  |  foo.toFixed(2);  // "47.69"  | |||
|  | ``` | |||
|  | 
 | |||
|  | > 在浏览器中键入`Number.prototype`并自己查看其他可用方法。
 | |||
|  | 
 | |||
|  | #### 更多信息:
 | |||
|  | 
 | |||
|  | 1.  [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type) | |||
|  | 2.  [JavaScript编号](https://www.w3schools.com/js/js_numbers.asp) | |||
|  | 
 | |||
|  | #### 参考
 | |||
|  | 
 | |||
|  | 1.  Kyle Simpson的[类型和语法](https://github.com/getify/You-Dont-Know-JS/tree/master/types%20%26%20grammar) 。 | |||
|  | 2.  [ECMAScript语言规范:4.3.20](https://www.ecma-international.org/ecma-262/5.1/#sec-4.3.20) | |||
|  | 3.  [ECMAScript语言规范:15.7数字对象](https://www.ecma-international.org/ecma-262/5.1/#sec-15.7) |