js 四舍五入保留一位小数

使用toFixed(1)可实现四舍五入保留一位小数,但返回字符串类型,需结合parseFloat或Number转为数字,如Number(3.146.toFixed(1))得3.1,封装函数更便捷。

js 四舍五入保留一位小数

在 JavaScript 中实现四舍五入并保留一位小数,最常用的方法是使用 toFixed() 结合 parseFloat()Number() 来处理数据类型问题。

使用 toFixed(1) 方法

toFixed(1) 可以将数字保留一位小数,并进行四舍五入。但注意它返回的是字符串类型。

示例:

let num = 3.146;
let result = num.toFixed(1); // “3.1”
console.log(result); // 输出字符串 “3.1”

如果你需要结果为数字类型,可以用 parseFloatNumber 转换:

let num = 3.146;
let result = parseFloat(num.toFixed(1)); // 3.1
console.log(result); // 输出数字 3.1

自动四舍五入的原理

JavaScript 的 toFixed() 是根据小数位数自动进行四舍五入的。

常见情况:3.14 → toFixed(1) → “3.1” 3.15 → toFixed(1) → “3.2” 2.68 → toFixed(1) → “2.7” 5.04 → toFixed(1) → “5.0”

注意:虽然显示为 “5.0”,但这是保留一位小数的标准格式。

封装成一个函数更方便使用

可以写一个简单函数,输入数字,返回保留一位小数的数字类型:

function roundOneDecimal(value) {
  return Number(value.toFixed(1));
}

console.log(roundOneDecimal(4.555)); // 4.6
console.log(roundOneDecimal(2.12)); // 2.1

基本上就这些。用 toFixed(1) 四舍五入再转回数字,是最稳妥的做法。

以上就是js 四舍五入保留一位小数的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1538524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 05:04:32
下一篇 2025年12月18日 12:22:24

相关推荐

  • JavaScript事件怎么监听_JavaScript事件监听addEventListener方法使用教程

    JavaScript通过addEventListener实现事件监听,可为元素绑定多个事件处理函数,支持捕获与冒泡阶段控制,常用语法为element.addEventListener(event, function, useCapture);相比onclick,其优势在于支持多监听器、灵活事件流控制…

    好文分享 2025年12月21日
    000
  • JS JSON数据怎么解析_JS JSON数据解析与转换使用方法

    使用JSON.parse()将JSON字符串转为JavaScript对象,如const obj = JSON.parse(‘{“name”: “张三”}’);使用JSON.stringify()将对象转为JSON字符串,如JSO…

    2025年12月21日
    000
  • js对象转数组

    JavaScript中转换对象为数组有四种常用方法:1. Object.keys()获取键名数组;2. Object.values()提取值数组;3. Object.entries()生成键值对二维数组;4. 结合map()将键值对转为对象数组,适用于列表渲染。 JavaScript中将对象转换为数…

    2025年12月21日
    000
  • JS插件开发怎样使用npm管理依赖_npm在JavaScript插件开发中的使用教程

    使用npm初始化项目并生成package.json文件,通过npm init或npm init -y快速创建;2. 安装依赖如lodash到dependencies,使用–save-dev将构建工具存入devDependencies;3. 在代码中通过import或require引入依赖…

    2025年12月21日
    000
  • js中六种基本数据类型

    JavaScript有六种基本数据类型:Number表示数字,包括Infinity和NaN;String表示文本,用单双引号或反引号定义;Boolean只有true和false;Undefined表示未赋值变量;Null表示有意为空;Symbol是唯一不可变值,用于对象属性。 JavaScript …

    2025年12月21日
    000
  • JS数组如何排序_JavaScript数组sort方法使用与自定义排序教程

    JavaScript数组排序依赖sort()方法,默认按字符串Unicode排序,需用比较函数实现数字或对象属性排序,如(a, b) => a – b升序,且sort会修改原数组,可用扩展运算符避免。 JavaScript中的数组排序主要依靠内置的sort()方法。这个方法可以对数…

    2025年12月21日
    000
  • jsonp解决跨域问题

    JSONP通过script标签跨域请求数据,利用服务器返回函数调用传递结果,仅支持GET、缺乏错误处理且存在安全风险,现代开发推荐CORS或代理方案。 跨域问题在前端开发中很常见,尤其是请求不同域名下的接口时。JSONP 是早期解决跨域问题的一种方案,利用了 标签不受同源策略限制的特性。 JSONP…

    2025年12月21日
    000
  • JavaScript待办列表:实现点击“完成”按钮切换列表项背景色的正确方法

    本教程旨在解决javascript待办事项列表中,动态生成列表项后点击“完成”按钮无法正确切换对应背景色的问题。文章将解释为何避免重复使用id,并提供一种高效且符合最佳实践的解决方案。通过将触发事件的按钮元素作为参数传递,并利用dom遍历来精准定位并修改父级列表项的样式,从而实现每个待办事项的独立状…

    2025年12月21日
    000
  • JavaScript 中 window.onerror 拦截的陷阱与最佳实践

    本文深入探讨了在 javascript 中拦截 `window.onerror` 属性时常见的误区和有效方法。通过分析 `window.onerror` 作为 dom 属性的内部机制,解释了为何直接使用 `object.defineproperty` 的 getter 无法生效。文章提供了一种简单且…

    2025年12月21日
    000
  • 前端JS怎样调用SpringCloud微服务_前端JS调用SpringCloud微服务的实现步骤

    前端通过HTTP请求调用SpringCloud微服务需经API网关,1. 微服务注册至Eureka/Nacos并暴露REST接口;2. 网关配置路由规则转发请求;3. 网关配置CORS解决跨域;4. 前端使用fetch/axios调用网关地址;5. 可选JWT认证,请求携带token。 前端Java…

    2025年12月21日
    000
  • JavaScript JIT编译原理

    JavaScript引擎通过JIT技术边运行边优化,先解析代码为AST,再生成字节码由解释器执行,同时收集类型反馈;当函数被频繁调用成为热点代码时,触发Baseline编译器进行低级优化,随后TurboFan根据类型推测进行深度优化,如内联和冗余消除;若类型假设失败则触发去优化回退到解释执行;内联缓…

    2025年12月21日
    000
  • JS插件如何兼容多个浏览器_JavaScript跨浏览器插件兼容性解决方案

    通过特性检测而非浏览器检测来统一API接口,优先使用标准方法并为旧版IE提供回退方案;2. 封装跨浏览器事件绑定函数以兼容不同事件模型;3. 使用Polyfill补全老浏览器缺失的JS方法;4. 借助Babel等构建工具转译ES6+语法,并通过.browserslistrc配置目标环境,实现从IE到…

    2025年12月21日
    000
  • js观察者模式和订阅模式的区别

    观察者模式中主体直接通知观察者,两者存在耦合;发布订阅模式通过事件中心解耦,发布者与订阅者无直接依赖,通信更灵活。 观察者模式和发布订阅模式在JavaScript中经常被提及,它们看起来很相似,都是为了实现对象间的解耦和通信,但它们的核心机制和使用场景有本质区别。 观察者模式:直接依赖 在观察者模式…

    2025年12月21日
    000
  • 前端JS怎样调用Spring定时调度任务_前端JS调用Spring定时调度任务的实现步骤

    答案:前端无法直接调用Spring定时任务,但可通过接口触发相同逻辑。具体步骤为:1. 将@Scheduled中的业务逻辑提取到Service类中;2. 定时任务通过@Scheduled注解自动执行该方法;3. 创建REST接口调用同一Service方法;4. 前端使用fetch等发送请求触发任务。…

    2025年12月21日
    000
  • Js值传递和引用传递的不同

    基本类型参数传递时复制值,函数内修改不影响外部;对象类型传递引用地址,修改属性会影响外部对象,但重新赋值参数不影响原引用。 JavaScript 中的值传递和引用传递主要区别在于函数参数在传递时的行为方式,这取决于参数的数据类型。 基本类型是值传递 JavaScript 的基本类型(如 number…

    2025年12月21日
    000
  • 使用JavaScript实现一个简单的Markdown解析器_javascript工具

    答案是实现一个支持标题、粗体、斜体、链接和换行的轻量级Markdown解析器,使用正则表达式将Markdown语法转换为HTML标签,并通过转义防止注入,适合学习和基础应用。 实现一个简单的 Markdown 解析器,主要是将常见的 Markdown 语法(如标题、粗体、斜体、链接等)转换为对应的 …

    2025年12月21日
    000
  • js不同类型的工厂函数

    基础、私有状态、可配置、组合式工厂函数是JavaScript中常见的四种模式,分别适用于创建固定结构对象、隐藏数据、动态定制行为及多功能组合场景。 在 JavaScript 中,工厂函数是一种不依赖 new 操作符就能创建对象的函数。它们通过返回一个新对象来实现封装和复用。根据用途和结构的不同,可以…

    2025年12月21日
    000
  • JavaScript 测试驱动:Jest 单元测试编写与 mock 技巧

    本文介绍使用Jest进行JavaScript单元测试,涵盖基础测试、mock函数、模块模拟及高级技巧;2. 通过示例展示如何用expect、jest.fn()、jest.mock()和jest.spyOn隔离依赖并验证行为;3. 强调测试应关注行为而非实现,建议合理使用mock并清理状态以确保可靠性…

    2025年12月21日
    000
  • 保持滚动条在底部:动态内容界面的实现策略

    本文详细介绍了如何在Web应用中,尤其是在处理动态加载内容时,通过JavaScript确保滚动条始终保持在最底部。我们将重点探讨使用`MutationObserver` API来监听DOM变化,并结合`scrollTop`属性实现这一功能,从而优化用户体验,适用于聊天窗口、日志显示或实时数据流等场景…

    2025年12月21日
    000
  • 前端应用中沙盒与生产环境的动态切换与API管理教程

    本教程旨在指导开发者如何在前端应用中实现沙盒(Sandbox)与生产(Production)环境的动态切换。通过构建一个集中式的环境配置管理模块,结合UI交互事件,并抽象API调用层,我们将展示如何允许用户在不同环境间无缝切换,并自动调用相应的API端点,从而显著提升开发、测试和运维的灵活性与效率。…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信