当前位置: 首页 > news >正文

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):返回 xy 次幂。
  • Math.sqrt(x):返回 x 的平方根。
  • Math.log(x):返回 x 的自然对数。
  • Math.exp(x):返回 ex 次幂。

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 中提供的全局方法,与 parseIntparseFloat 相似,但更加严格:

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"

这些方法覆盖了大多数与数字相关的常见操作需求,从基本的数学运算到复杂的格式化和验证。在实际开发中,根据具体情况选择合适的方法可以提高代码的可读性和效率。

http://www.lryc.cn/news/442251.html

相关文章:

  • 部分解决FDTD安装后,matlab指令fopen报错
  • [python3] 处理函数的重试
  • 鸿蒙开发之ArkTS 界面篇 一
  • 嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)
  • 【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))
  • 【刷题日记】43. 字符串相乘
  • Verilog学习之旅~
  • linux之mysql安装
  • 单身狗的逆袭之路之开发相亲交友系统
  • 【Spring】IocDI详解(6)
  • Redis系列之底层数据结构SDS
  • 【STM32】esp8266连接wifi
  • 网络运维故障处理
  • C++第十一节课 new和delete
  • 【爱给网-注册安全分析报告-无验证方式导致安全隐患】
  • 苹果为什么不做折叠屏手机?
  • 目标检测经典算法的个人理解
  • FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate区别
  • 《程序猿之设计模式实战 · 策略模式》
  • deepinlinux-v23用deepinunioncode初始c例子
  • 前端框架对比选择:如何在众多技术中找到最适合你的
  • 数据结构—(java)反射,枚举,lambda表达式
  • 机器学习(西瓜书)第 14 章 概率图模型
  • Python异步编程-asyncio详解
  • UniApp如何打包成客户端应用程序
  • 你应该掌握的12条饭局规矩!
  • 【541. 反转字符串 II 简单】
  • 基于PHP的丽江旅游管理系统
  • vue3+Element-plus el-input 输入框组件二次封装(支持金额、整数、电话、小数、身份证、小数点位数控制,金额显示中文提示等功能)
  • jQuery 简介 ③ ready()事件函数、jQuery 二个原则及容错机制