阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS Math.floor()

       

      Math.floor() 返回小于或等于一个给定数字的最大整数。

      Note:  Math.floor() === 向下取整

      语法

      Math.floor(x) 
      

      参数

      x

      一个数字。

      返回值 

      一个表示小于或等于指定数字的最大整数的数字。

      描述

      由于 floorMath 的一个静态方法,你总是应该像这样使用它 Math.floor(),而不是作为你创建的一个Math对象的一种方法(Math不是一个构造函数)。

      示例

      例子:使用 Math.floor

      Math.floor( 45.95); 
      // 45 
      Math.floor( 45.05); 
      // 45 
      Math.floor( 4 ); 
      // 4 
      Math.floor(-45.05); 
      // -46 
      Math.floor(-45.95); 
      // -46
      
      
      

      例子:十进制调整

      // Closure
      (function(){
      
      	/**
      	 * Decimal adjustment of a number.
      	 *
      	 * @param	{String}	type	The type of adjustment.
      	 * @param	{Number}	value	The number.
      	 * @param	{Integer}	exp		The exponent (the 10 logarithm of the adjustment base).
      	 * @returns	{Number}			The adjusted value.
      	 */
      	function decimalAdjust(type, value, exp) {
      		// If the exp is undefined or zero...
      		if (typeof exp === 'undefined' || +exp === 0) {
      			return Math[type](value);
      		}
      		value = +value;
      		exp = +exp;
      		// If the value is not a number or the exp is not an integer...
      		if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
      			return NaN;
      		}
      		// Shift
      		value = value.toString().split('e');
      		value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
      		// Shift back
      		value = value.toString().split('e');
      		return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
      	}
      
      	// Decimal round
      	if (!Math.round10) {
      		Math.round10 = function(value, exp) {
      			return decimalAdjust('round', value, exp);
      		};
      	}
      	// Decimal floor
      	if (!Math.floor10) {
      		Math.floor10 = function(value, exp) {
      			return decimalAdjust('floor', value, exp);
      		};
      	}
      	// Decimal ceil
      	if (!Math.ceil10) {
      		Math.ceil10 = function(value, exp) {
      			return decimalAdjust('ceil', value, exp);
      		};
      	}
      
      })();
      
      // Round
      Math.round10(55.55, -1); // 55.6
      Math.round10(55.549, -1); // 55.5
      Math.round10(55, 1); // 60
      Math.round10(54.9, 1); // 50
      Math.round10(-55.55, -1); // -55.5
      Math.round10(-55.551, -1); // -55.6
      Math.round10(-55, 1); // -50
      Math.round10(-55.1, 1); // -60
      // Floor
      Math.floor10(55.59, -1); // 55.5
      Math.floor10(59, 1); // 50
      Math.floor10(-55.51, -1); // -55.6
      Math.floor10(-51, 1); // -60
      // Ceil
      Math.ceil10(55.51, -1); // 55.6
      Math.ceil10(51, 1); // 60
      Math.ceil10(-55.59, -1); // -55.5
      Math.ceil10(-59, 1); // -50
      
      

      规范

      规范版本规范状态注解
      ECMAScript 1st Edition. Implemented in JavaScript 1.0StandardInitial definition.
      ECMAScript 5.1 (ECMA-262) Math.floorStandard 
      ECMAScript 2015 (6th Edition, ECMA-262)Math.floorStandard 
      ECMAScript Latest Draft (ECMA-262)Math.floorDraft 

      相关链接

      目录
      目录