Math 的 floor,round 和 ceil 方法实例比较

知识点

函数概念
ceil()返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。
floor()返回小于等于(<=)给定参数的最大整数 。
round()它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。

实例

public class Main {   
  public static void main(String[] args) {   
    double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };   
    for (double num : nums) {   
      test(num);   
    }   
  }   

  private static void test(double num) {   
    System.out.println("Math.floor(" + num + ")=" + Math.floor(num));   
    System.out.println("Math.round(" + num + ")=" + Math.round(num));   
    System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num));   
  }   
}

运行结果

Math.floor(1.4)=1.0
Math.round(1.4)=1
Math.ceil(1.4)=2.0
Math.floor(1.5)=1.0
Math.round(1.5)=2
Math.ceil(1.5)=2.0
Math.floor(1.6)=1.0
Math.round(1.6)=2
Math.ceil(1.6)=2.0
Math.floor(-1.4)=-2.0
Math.round(-1.4)=-1
Math.ceil(-1.4)=-1.0
Math.floor(-1.5)=-2.0
Math.round(-1.5)=-1
Math.ceil(-1.5)=-1.0
Math.floor(-1.6)=-2.0
Math.round(-1.6)=-2
Math.ceil(-1.6)=-1.0

微信公众号:IT小天地
关注可了解更多计算机相关知识。问题或建议,请公众号留言;

<think>首先,用户的问题是:“我想了解JavaScript中Math.floor方法的用途用法 请问JavaScript Math.floor 方法详解及示例”。这是一个关于JavaScript Math.floor方法的查询。 系统指令要求: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识。 - 回答结构清晰,帮助用户逐步解决问题,保证真实可靠。 参考提供的引用: - 引用[1]:提到Math.floor()向下取整,并给出示例。 - 引用[2]:介绍JavaScript Math对象。 - 引用[3]:详细Math对象,包括Math.floor- 引用[4]:说明Math是内置对象,静态方法。 我需要基于这些引用构建回答,确保内容真实可靠。 回答结构: - 清晰结构:逐步解释Math.floor的用途、用法、示例。 - 使用中文。 - 在引用处添加引用标识,如[^1]。 生成相关问题:在回答结束时,添加相关问题部分。 具体内容: 1. **用途**:Math.floor()用于向下取整,即返回小于或等于给定数字的最大整数。 2. **用法**:Math.floor(x),其中x是数字。 3. **示例**:如引用[1]所示,console.log(Math.floor(3.7)); // 输出: 3 等。 4. 解释细节:讨论正数、负数、整数输入的情况。 5. 引用:在引用内容后添加[^n]。 确保数学表达式正确: - 行内数学表达式用$...$,例如在解释数学概念时。 - 独立公式用$$...$$,但这里可能不需要独立公式,除非涉及复杂数学。 可能的数学内容: - 定义向下取整:对于实数$x$,Math.floor(x)返回整数$n$,使得$n \leq x < n+1$。 - 用LaTeX表示:$n = \lfloor x \rfloor$。 步骤: 1. 介绍Math.floor方法2. 解释用途。 3. 展示用法。 4. 提供示例代码。 5. 讨论注意事项。 6. 添加引用。 7. 生成相关问题。 相关问题示例: - 基于主题,如其他Math方法、应用场景等。 最终回答结构: - 标题或直接开始。 - 正文分点解释。 - 代码块展示示例。 - 相关问题部分。</think>### JavaScript Math.floor 方法详解及示例 在 JavaScript 中,`Math.floor()` 方法是 `Math` 对象的一个内置函数,用于执行向下取整操作。其核心用途是返回小于或等于给定数字的最大整数。这在处理数值计算、数据舍入或游戏开发中非常实用[^1]。下面我将逐步解释其用途、用法、示例注意事项。 #### 1. **用途** - `Math.floor()` 的主要功能是“向下取整”。对于任意实数 $x$,它返回整数 $n$,满足 $n \leq x < n+1$。数学上可表示为 $n = \lfloor x \rfloor$[^1]。 - 应用场景: - 处理浮点数时去除小数部分,例如在计算数组索引或货币金额时。 - 与其他 Math 方法结合,实现复杂数学运算,如随机数生成或统计计算[^2][^3]。 #### 2. **用法** - 语法:`Math.floor(x)` - 参数 `x`:一个数字(可以是整数、浮点数或负数)。 - 返回值:整数,表示向下取整的结果- 注意: - `Math.floor()` 是静态方法,无需创建 Math 对象实例即可调用[^4]。 - 如果参数不是数字(如字符串),JavaScript 会尝试隐式转换为数字;如果转换失败,返回 `NaN`(Not a Number)[^1][^3]。 #### 3. **示例** 以下代码示例演示了 `Math.floor()` 在不同输入下的行为。您可以直接在浏览器控制台或 Node.js 环境中运行这些代码。 ```javascript // 示例 1: 正数向下取整 console.log(Math.floor(3.7)); // 输出: 3 console.log(Math.floor(7.9)); // 输出: 7 // 示例 2: 负数向下取整(注意:结果会更小) console.log(Math.floor(-2.3)); // 输出: -3(因为 -3 < -2.3 < -2) console.log(Math.floor(-1.8)); // 输出: -2 // 示例 3: 整数输入(返回原值) console.log(Math.floor(5)); // 输出: 5 // 示例 4: 非数字输入(隐式转换或 NaN) console.log(Math.floor("4.6")); // 输出: 4(字符串被转换为数字) console.log(Math.floor("hello")); // 输出: NaN(无法转换) ``` #### 4. **注意事项** - **性能**:`Math.floor()` 是高效的原生方法,时间复杂度为 $O(1)$,适用于大多数场景。 - **边界情况**: - 对于正数,结果等同于截断小数部分。 - 对于负数,结果总是小于或等于原值(如 $-2.3$ 返回 $-3$)。 - **与其他方法对比**: - `Math.ceil()`:向上取整(如 `Math.ceil(3.1)` 返回 $4$)。 - `Math.round()`:四舍五入(如 `Math.round(3.5)` 返回 $4$)。 - 选择方法时,根据需求决定舍入方向[^3][^4]。 `Math.floor()` 是 JavaScript 数学运算的基础工具,结合其他 `Math` 方法(如 `Math.random()` 或 `Math.max()`),能构建强大的数值处理逻辑[^2][^3]。如需更多细节,可参考 MDN Web Docs 或 W3School 的官方文档[^1][^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值