javascript中Number 类型 在实际开发中常用的一些操作方法
在 JavaScript 中,Number 类型是非常基础的数据类型之一,用于表示整数和浮点数。除了基本的算术运算外,还有许多内置的方法可以帮助你处理数字。下面列举了一些在实际开发中常用的 Number 类型的操作方法:
1. 转换方法
Number()
将非数字值转换为数字:
Number('123') === 123; // true
Number(true); // 1
Number(false); // 0
parseInt(), parseFloat()
分别将字符串解析为整数或浮点数:
parseInt('123.45'); // 123
parseFloat('123.45abc'); // 123.45
isNaN()
检查一个值是否为 NaN:
isNaN('abc'); // true
isNaN(123); // false
isFinite()
检查一个值是否为有限的数字:
isFinite(123); // true
isFinite(Infinity); // false
isFinite(NaN); // false
2. 数学运算方法
Math 对象提供的方法
Math.abs(x):返回x的绝对值。Math.ceil(x):向上取整。Math.floor(x):向下取整。Math.round(x):四舍五入。Math.trunc(x):去除小数部分,返回整数部分。Math.min(...values):返回最小值。Math.max(...values):返回最大值。Math.random():返回一个介于 0(包括)和 1(不包括)之间的随机数。Math.sign(x):返回x的符号(-1, 0, 1)。Math.pow(x, y):返回x的y次幂。Math.sqrt(x):返回x的平方根。Math.log(x):返回x的自然对数。Math.exp(x):返回e的x次幂。
3. Number 原型方法
toFixed()
将数字格式化为字符串,并保留指定位数的小数:
123.456.toFixed(2); // "123.46"
toLocaleString()
将数字转换为本地化的字符串:
123456789.toLocaleString('en-US'); // "123,456,789"
123456789.toLocaleString('zh-CN'); // "123,456,789" 或 "123,456,789",取决于实现
toPrecision()
将数字格式化为具有指定位数精度的字符串:
12345.6789.toPrecision(4); // "1.235e+4"
toString(radix)
将数字转换为指定进制的字符串:
255.toString(16); // "ff"
4. 其他方法
Number.isInteger()
检查一个值是否为整数:
Number.isInteger(123); // true
Number.isInteger(123.0); // true
Number.isInteger(123.456); // false
Number.parseInt(), Number.parseFloat()
ES6 中提供的全局方法,与 parseInt 和 parseFloat 相似,但更加严格:
Number.parseInt('123.45', 10); // 123
Number.parseFloat('123.45abc'); // 123.45
实例
假设你需要将一个数字格式化为带有货币符号的字符串:
function formatCurrency(value) {return '$' + value.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}console.log(formatCurrency(1234567.89)); // 输出 "$1,234,567.89"
这些方法覆盖了大多数与数字相关的常见操作需求,从基本的数学运算到复杂的格式化和验证。在实际开发中,根据具体情况选择合适的方法可以提高代码的可读性和效率。
相关文章:
javascript中Number 类型 在实际开发中常用的一些操作方法
在 JavaScript 中,Number 类型是非常基础的数据类型之一,用于表示整数和浮点数。除了基本的算术运算外,还有许多内置的方法可以帮助你处理数字。下面列举了一些在实际开发中常用的 Number 类型的操作方法: 1. 转换方法 Number()…...
部分解决FDTD安装后,matlab指令fopen报错
今天在新的win11电脑上安装FDTD时,发现在C:\Program Files目录中并没有Lumerical文件夹,把激活文件粘贴过去后虽然能正常启动,但对于matlab link FDTD过程中无法响应以下代码: setenv(PATH, [getenv(PATH) ;C:\Program Files\Lum…...
[python3] 处理函数的重试
tenacity是一个 Python 库,用于简化重试逻辑的实现。它提供了装饰器和工具函数,使得在函数执行失败时可以自动重试。以下是对tenacity库的详细介绍: 一、安装 可以使用pip安装tenacity: pip install tenacity二、主要概念和功能…...
鸿蒙开发之ArkTS 界面篇 一
建好一个工程后,右侧可以预览,看到效果,效率十分可以,如图: State message: string 鸿蒙开发入门篇; 这个字符串改成什么,右侧就显示什么 Entry是类装饰器,可以简单的理解为程序入口的必须的装饰器&…...
嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)
一、概述 线程是一种轻量级的并发执行的机制。线程是进程中的一个实体,它执行在同一进程的上下文中,共享同一内存空间,但拥有独立的栈空间。 C语言的线程使用pthread库实现,通过包含头文件 pthread.h 来使用相关的函数和数据类型 …...
【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))
Host 表示服务器主机的地址和端口号 URL 里面不是已经有 Host 了吗,为什么还要写一次? 这里的 Host 和 URL 中的 IP 地址、端口什么的,绝大部分情况下是一样的,少数情况下可能不同当前我们经过某个代理进行转发。过程中…...
【刷题日记】43. 字符串相乘
43. 字符串相乘 其实就是大数乘法题,这道题用草稿纸演练一下,其实很好找到方法,模拟大数乘法即可。需要注意的是进位和迭代值,还有注意向下取整和去除前导0(容易遗漏)。去除前导0的时候还要注意如果全是0&…...
Verilog学习之旅~
记录Verilog的学习日常~ 第一阶段:牛客网刷题 1.Verilog快速入门 基础语法 VL1:四选一多路器:case语句、条件表达符; VL2:异步复位的串联T触发器:T触发器的基本功能及代码实现、异步复位的概念; VL3:奇偶校验:缩…...
linux之mysql安装
1:mysql安装包下载 下载地址 可私信我直接获取安装包 2:linux下wget命令下载 下载地址 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz3:手动安装 将自己的安装包上传到对应的位置 解压 压缩包 使用命令 tar -zxvf mysql-5.7…...
单身狗的逆袭之路之开发相亲交友系统
在这个充满机遇与挑战的时代,单身人士渴望找到属于自己的幸福。然而,在忙碌的工作与生活中,他们往往难以抽出时间去拓展社交圈。相亲交友系统的出现,无疑是为这些“单身狗”提供了一个逆袭的机会。通过相亲交友系统,用…...
【Spring】IocDI详解(6)
本系列共涉及4个框架:Sping,SpringBoot,Spring MVC,Mybatis。 博客涉及框架的重要知识点,根据序号学习即可。 有什么不懂的都可以问我,看到消息会回复的,可能会不及时,请见谅!! 目录 本系列共…...
Redis系列之底层数据结构SDS
Redis系列之底层数据结构SDS 实验的环境 Redis 6.0VSCode 1.88.1 什么是SDS? SDS:Simple Dynamic String,翻译为简单动态字符串。SDS是一种用于存储二进制数据的数据结构,具有动态扩容的特点,代码位于src/sds.h和src/sds.c …...
【STM32】esp8266连接wifi
1.配置stm32cubemx 使用串口二接收esp8266的数据,单片机接收,使用串口1将数据发送给串口助手 串口2波特率设置74880,串口1设置115200 在初始化的时候需要将复位引脚拉低20ms,然后再拉高20ms, 设置GPIOB的输出模式 对PB12做输出处理 2.…...
网络运维故障处理
本篇纯是之前的工作经验做一个分享,大家看个热闹就好。 1.突然的断网,在上家上班的时候,有一天突然下午厂区内开始出现大面积网络卡顿,teams,outlook不好使等情况,且网盘也上不去,所以开始排查…...
C++第十一节课 new和delete
一、new和delete操作自定义类型 new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数(new会自动调用构造函数;delete会调用析构函数) class A { public:A(int a 0): _a(a){cout <&l…...
【爱给网-注册安全分析报告-无验证方式导致安全隐患】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…...
苹果为什么不做折叠屏手机?
苹果为什么不做折叠屏手机?折叠屏手机在最近这些年里边,可以说是市场的一个主要在手机上的增长点。你像华W最近推出这个三折叠手机,引起了整个市场的轰动。 可是,为什么苹果到今天为止不为所动,还在那不停地在现在的这…...
目标检测经典算法的个人理解
one stage 1、RCNN -> Fast-RCNN:RPN部分从用传统的算法 -> 用深度学习网络来实现。 2、Fast-RCNN -> Faster-RCNN:从先选region再求Feature -> 先求Feature再选region。 two stage 1、SSD(2016):VGG做…...
FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate区别
FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate 都是 LangChain 框架中用于少样本学习的提示模板(Prompt Template),但它们在设计和用途上存在一些区别。 FewShotChatMessagePromptTemplate 用途:主要用于聊天场景…...
《程序猿之设计模式实战 · 策略模式》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
Netty-learning-example数据持久化实战:JPA+MySQL与MyBatis+MongoDB对比
Netty-learning-example数据持久化实战:JPAMySQL与MyBatisMongoDB对比 【免费下载链接】netty-learning-example :egg: Netty实践学习案例,见微知著!带着你的心,跟着教程。我相信你行欧。 项目地址: https://gitcode.com/gh_mir…...
FigmaCN:颠覆式中文界面工具,让设计效率提升50%的革新性方案
FigmaCN:颠覆式中文界面工具,让设计效率提升50%的革新性方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 开发者日常工作中是否遇到过这样的困境:…...
QQ空间时光胶囊:用GetQzonehistory打造你的数字记忆保险箱
QQ空间时光胶囊:用GetQzonehistory打造你的数字记忆保险箱 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 当我们在社交平台上记录生活点滴时,可曾想过这些数字足…...
思源宋体专业应用全攻略:从零开始掌握开源中文字体开发
思源宋体专业应用全攻略:从零开始掌握开源中文字体开发 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目寻找高质量中文字体而烦恼?思源宋体作为A…...
突破格式限制:3种高效NCM转码方案全解析
突破格式限制:3种高效NCM转码方案全解析 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump NCM格式作为网易云音乐的加密音频格式,常导致用户面临设备兼容性差、跨平台播放受阻等问题。本文将通过开源工具实现NC…...
C++-string学习笔记
string学习笔记1、关键语法:1.1内联函数1.2静态成员常量1.3初始化列表1.4析构方式1.5operator1.5.1迭代器1.6strstr**1.6strcmp**string 头文件:#pragma once #include<iostream> #include<assert.h> #include<string.h> using namesp…...
OpenClaw邮件处理自动化:Qwen3-4B智能分类与回复草拟
OpenClaw邮件处理自动化:Qwen3-4B智能分类与回复草拟 1. 为什么需要邮件自动化助手 每天早晨打开邮箱时,面对堆积如山的未读邮件总让人心生畏惧。作为技术从业者,我经常需要处理技术咨询、合作邀约、社区讨论等各类邮件,手动分类…...
千问3.5-2B网页版深度解析:前端上传逻辑、后端推理链路、JSON返回结构
千问3.5-2B网页版深度解析:前端上传逻辑、后端推理链路、JSON返回结构 1. 平台概述 千问3.5-2B是Qwen系列中的轻量级视觉语言模型,专为图片理解与文本生成任务优化设计。这个开箱即用的解决方案将复杂的AI能力封装成简单的网页交互,用户无需…...
5步突破:思源宋体TTF字体库的商业级应用方案
5步突破:思源宋体TTF字体库的商业级应用方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版的专业性发愁吗?面对商业字体高昂的授权费用和免费字…...
开源大模型新范式:Pixel Epic智识终端镜像免配置部署详细步骤
开源大模型新范式:Pixel Epic智识终端镜像免配置部署详细步骤 1. 产品概览 Pixel Epic智识终端是一款基于AgentCPM-Report大模型构建的创新研究报告辅助工具。它将枯燥的科研工作转化为一场像素风格的RPG冒险,让用户以游戏化的方式完成专业报告撰写。 …...
