TS-类型转换(显式)
1.将其他类型转换为布尔类型
要将其他类型转换为布尔类型,只需要将待转换的值传入Boolean()函数
var msg: string = "ok";
var msgToBollean: boolean = Boolean(msg); //得到true
Boolean()函数会判断传入的值是空值还是非空值。
若表示非空值,则返回true
若表示空值,则返回false
在TypeScipt中,以下5种值在一定程度上都有空值的含义,转换后会返回false,而对于其他值都会返回true
1.undefined(无初始值)
2.null(无值)
3.NaN(非正确数字)
4.0
5.""(空字符串)
console.log(Boolean(undefined)); //输出false
console.log(Boolean(null)); //输出false
console.log(Boolean(0)); //输出false
console.log(Boolean("")); //输出false
console.log(Boolean(NaN)); //输出false
console.log(Boolean(-1)); //输出true
console.log(Boolean("false")); //输出true
2.将其他类型转换为数值类型
将其他类型转换为数值类型的函数有以下3个
1.parseInt():将字符串类型的值转换为整型数值
2.parseFloat():将字符串类型的值转换为浮点类型数值
3.Number():将任意类型的值转换为数值类型的值
2.1parseInt()
parseInt()函数可以将传给它的代表数字的字符串转换成整数
let scoreString: string = "100";
let score: number = parseInt(scoreString); //100
在转换时,需要注意以下几点
1.该函数在转换时会忽略掉前面的空格,会从第一个非空字符串开始解析,如果解析过程中遇到非数字字符,会从这里开始忽略掉它及它以后的所有字符串,示例代码如下。
console.log(parseInt(" 100")); //输出100
console.log(parseInt("100y01")); //输出100
2.如果待转换的字符串的首个非空格字符串不是数字或正负号,则返回NaN
console.log(parseInt("y100")); //输出NaN
3.在转换时会忽略小数点后的数值
console.log(parseInt("100.1")); //输出100
2.2parseFloat
parseFloat()和parseInt()函数类似,但该函数将传给它的代表数字的字符串转换成浮点数。
let scoreString: string = "99.9";
let score: number = parseFloat(scoreString); //99.9
在转换时需要注意以下几点:
1.parseInt()函数类似,parseFloat()函数也会忽略字符串开头的空格,解析过程中如果遇到非浮点数字符(除正负号,小数点,0—9或科学记数法的指数e或E字符),会从这里开始忽略它及它以后的所有字符串。
console.log(parseFloat(" -99.9")); //输出-99.9
console.log(parseFloat("99.9y01")); //输出99.9
2. 字符串中的第二个小数点无效。
console.log(parseFloat("99.9.88")); //输出99.9
3.如果没有小数点,或小数点后面的数字为0,转换出的数值实际上为整数。
console.log(parseFloat("99.9.88")); //输出99.9
2.3Number()
Number()函数可以将传给它的任意类型的值转换成数值类型。对于不同的待转换类型,其转换规则略有不同。
1)将布尔类型转换为数值类型
当将布尔类型转换为数值类型时,true会转换为1,false会转换为0。
console.log(Number(true)); //输出1
console.log(Number(false)); //输出0
2)将undefined、null、""(空字符串)等空值转换为数值类型
null和""将会被转换为0,而undefined将会被转换为NaN。
console.log(Number(undefined)); //输出NaN
console.log(Number(null)); //输出0
console.log(Number("")); //输出0
3)将字符串类型转换为数值类型
当进行这种转换时,其规则和使用parseFloat()函数进行转换类似,区别在于Number()函数要求字符串的非空字符必须是严格的数字形式,否则会直接返回NaN。
console.log(Number("99.9 ")); //输出99.9
console.log(Number(" -99.9")); //输出-99.9
console.log(Number("99.9y01")); //输出NaN
console.log(Number("99.9.88")); //输出NaN
3.将其他类型转换为长整型
BigInt()函数可以将传给它的数值类型和字符串类型的值转换为长整型。
let bigint1: bigint = BigInt("124573945793");
let bigint12: bigint = BigInt(1232434531);
BigInt()函数要求字符串的非空字符必须是严格的整数形式,否则会在运行时报错。
4.将其他类型转换为字符串类型
使用以下两种方式可以将其他类型的值转换为字符串类型。
1.通过String()构造函数产生新的字符串
2.通过调用其他类型的toString()方法来进行转换
4.1调用String()
几乎所有类型都可以通过String()产生新的字符串
let string1: string = String(99.9); //得到"99.9"
let string2: string = String(true); //得到"true"
let string3: string = String(null); //得到"null"
let string4: string = String(NaN); //得到"NaN"
let string5: string = String(undefined); //得到"undefined"
4.2调用toString()
调用其他类型的toString()方法来进行转换
let number1: number = 99.9;
let boolean1: boolean = true;
let bigint1: bigint = 666n;
let nanNumber: number = NaN;
console.log(number1.toString()); //输出"99.9"
console.log(boolean1.toString()); //输出"true"
console.log(bigint1.toString()); //输出"666"
console.log(nanNumber.toString()); //输出"NaN"
注意,null和undefined两种表示无值的类型不具备该方法。
相关文章:
TS-类型转换(显式)
1.将其他类型转换为布尔类型 要将其他类型转换为布尔类型,只需要将待转换的值传入Boolean()函数 var msg: string "ok"; var msgToBollean: boolean Boolean(msg); //得到trueBoolean()函数会判断传入的值是空值还是非空值。 若表示非空值࿰…...
protobufjs 配置踩坑记录
本文主要是小程序使用PB协议,以下时博主遇到的问题以及解决办法。 1、安装protobufjs npm install --save protobufjs 注意:我之前也使用过 npm install -g protobufjs去安装,但是出现以下的问题,关键是我使用sudo 清除相关文件…...
freeswitch官方仓库
概述 在使用源代码编译安装freeswitch的过程中,我们经常需要一些依赖库,其中freeswitch官方的yum源仓库是最齐全最方便的。 但是,freeswitch仓库的配置和使用需要先在signalwire网站注册账号并获取PAT(personal access token&am…...
element ui el-calendar日历组件完整代码
el-calendar日历组件完整代码 1. 说在前面2. 日历整体代码3. 编辑与新增 1. 说在前面 最近一直忙于上班,没咋看博客,发现很多小伙伴都要日历组件的代码,于是今天抽空给大家整理一下,为爱发电!日历组件的原文在这里&am…...
初识java——javaSE(8)异常
文章目录 一 异常的概念与体系结构1.1 什么是异常?1.2 异常的体系结构!1.3 编译时异常与运行时异常与Error编译时异常:异常声明:throws关键字 运行时异常:什么是Error? 二 处理异常2.1 异常的抛出:throw(注…...
C语言面试题11至20题
探索编程面试题:深度解析11至20题 在编程面试中,经常会遇到一些需要深入理解计算机科学基础和编程原理的问题。以下是对一些常见面试题的详细解答,涵盖递归、循环控制、内存管理等关键概念。 11. 递归函数定义没有问题,递归深层…...
视频汇聚EasyCVR综合安防平台对接GA/T1400公安视图库及应用方案
随着科技的不断进步,视频监控系统在公共安全领域发挥着越来越重要的作用。GA/T1400公安视图库作为公安视频图像信息应用系统的标准,为视频监控系统的对接提供了统一的规范和技术要求。 GA/T1400标准的应用范围广泛,涵盖了公安系统的视频图像信…...
在Github找自己想要的的项目
点击进入github 1.首先进入到github的首页;搜索框搜(先关键字搜索)in:name 你的找的项目 比如: in:name Sping Boot2.进一步检索(点赞数高的) in:name Sping Boot star:>1000 3.如何要找最新的&…...
第16篇:JTAG UART IP应用<三>
Q:如何通过HAL API函数库访问JTAG UART? A:Quartus硬件工程以及Platform Designer系统也和第一个Nios II工程--Hello_World的Quartus硬件工程一样。 Nios II软件工程对应的C程序调用HAL API函数,如open用于打开和创建文件&#…...
Python——Selenium快速上手+方法(一站式解决问题)
目录 前言 一、Selenium是什么 二、Python安装Selenium 1、安装Selenium第三方库 2、下载浏览器驱动 3、使用Python来打开浏览器 三、Selenium的初始化 四、Selenium获取网页元素 4.1、获取元素的实用方法 1、模糊匹配获取元素 & 联合多个样式 2、使用拉姆达表达式 3、加上…...
2024最新群智能优化算法:大甘蔗鼠算法(Greater Cane Rat Algorithm,GCRA)求解23个函数,提供MATLAB代码
一、大甘蔗鼠算法 大甘蔗鼠算法(Greater Cane Rat Algorithm,GCRA)由Jeffrey O. Agushaka等人于2024年提出,该算法模拟大甘蔗鼠的智能觅食行为。 参考文献 [1]Agushaka J O, Ezugwu A E, Saha A K, et al. Greater Cane Rat Alg…...
苍穹外卖数据可视化
文章目录 1、用户统计2、订单统计3、销量排名Top10 1、用户统计 所谓用户统计,实际上统计的是用户的数量。通过折线图来展示,上面这根蓝色线代表的是用户总量,下边这根绿色线代表的是新增用户数量,是具体到每一天。所以说用户统计…...
AWS需要实名吗?
AWS作为全球领先的云计算服务提供商,对于实名认证有着严格的要求。实名认证是指用户在使用AWS服务时需要提供真实有效的个人身份信息,以便AWS能够对用户的身份进行验证和管理。对于AWS而言,实名认证是确保用户安全和服务质量的重要环节&#…...
Android下HWC以及drm_hwcomposer普法(下)
Android下HWC以及drm_hwcomposer普法(下) 引言 不容易啊,写到这里。经过前面的普法(上),我相信童鞋们对HWC和drm_hwcomposer已经有了一定的认知了。谷歌出品,必须精品。我们前面的篇章见分析到啥来了,对了分析到了HwcDisplay::in…...
【评价类模型】熵权法
1.客观赋权法: 熵权法是一种客观求权重的方法,所有客观求权重的模型中都要有以下几步: 1.正向化处理: 极小型指标:取值越小越好的指标,例如错误率、缺陷率等。 中间项指标:取值在某个范围内较…...
PG 窗口函数
一,简介 窗口函数也叫分析函数,也叫OLAP函数,通过partition by分组,这里的窗口表示范围,,可以不指定PARATITION BY,会将这个表当成一个大窗口。 二,应用场景 (1)用于分…...
冯喜运:5.31晚间黄金原油行情分析及尾盘操作策略
【黄金消息面分析】:周五(5月31日),最新发布的数据显示,美国4月核心PCE物价指数月率录得0.2%,低于预期(0.3%),经济学家认为,核心指数比整体指数更能反映通胀。除此之外,美…...
Vue 框选区域放大(纯JavaScript实现)
需求:长按鼠标左键框选区域,松开后放大该区域,继续框选继续放大,反向框选恢复原始状态 实现思路:根据鼠标的落点,放大要显示的内容(内层盒子),然后利用水平偏移和垂直偏…...
C#加密与java 互通
文章目录 前言对方接口签名要求我方对接思路1.RSA 加密2.AES256加密 完整的加密帮助类 前言 提示:这里可以添加本文要记录的大概内容: 在我们对接其他公司接口的时候,时常会出现对方使用的开发语言和我方使用的开发语言不同的情况ÿ…...
C#【进阶】特殊语法
特殊语法、值和引用类型 特殊语法 文章目录 特殊语法1、var隐式类型2、设置对象初始值3、设置集合初始值4、匿名类型5、可空类型6、空合并操作符7、内插字符串8、单句逻辑简略写法 值和引用类型1、判断值和引用类型2、语句块3、变量的生命周期4、结构体中的值和引用5、类中的值…...
OpenRocket全栈实战手册:从仿真引擎到航天教育生态构建
OpenRocket全栈实战手册:从仿真引擎到航天教育生态构建 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 价值定位:重新定义航天工程…...
著名学者、顶尖大学教授近期失联
点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达点击进入—>【顶会/顶刊】投稿交流群添加微信号:CVer2233,小助手拉你进群!扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶…...
Pixel Fashion Atelier保姆级教程:如何将生成结果无缝导入Aseprite进行二次编辑
Pixel Fashion Atelier保姆级教程:如何将生成结果无缝导入Aseprite进行二次编辑 1. 教程概述 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的像素风格图像生成工具,特别适合创作复古RPG风格的时尚设计。本教程将手把手教你如何将生成…...
LangChainJS设计模式:可复用AI组件的架构思想
LangChainJS设计模式:可复用AI组件的架构思想 【免费下载链接】langchainjs 项目地址: https://gitcode.com/GitHub_Trending/la/langchainjs LangChainJS是一个用于构建LLM驱动应用程序的JavaScript/TypeScript框架,它通过可复用AI组件和设计模…...
5个维度掌握wechat-api:从入门到生产的微信机器人开发指南
5个维度掌握wechat-api:从入门到生产的微信机器人开发指南 【免费下载链接】wechat-api 🗯 wechat-api by java7. 项目地址: https://gitcode.com/gh_mirrors/we/wechat-api 核心价值:企业为什么需要微信机器人? 在数字化…...
从朱诺到威尼斯:一个可持续旅游模型如何‘开箱即用’解决你的美赛问题二
从朱诺到威尼斯:可持续旅游模型的跨场景迁移实战指南 模型迁移的核心挑战与解决框架 当我们将一个城市的可持续旅游模型迁移到另一个城市时,表面上看似乎只需要更换数据输入,但实际操作中会遇到三个维度的挑战: 1. 资源禀赋差异 自…...
【实战指南】如何用nvitop解决GPU资源监控与管理难题
【实战指南】如何用nvitop解决GPU资源监控与管理难题 【免费下载链接】nvitop An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management. 项目地址: https://gitcode.com/gh_mirrors/nv/nvitop 在深度学习训练、科学计…...
Mermaid在线编辑器完整指南:3步制作专业图表零基础入门
Mermaid在线编辑器完整指南:3步制作专业图表零基础入门 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edito…...
麦橘超然Flux效果展示:多风格AI绘画作品集锦
麦橘超然Flux效果展示:多风格AI绘画作品集锦 1. 惊艳开篇:当AI画笔遇见专业级表现 在数字艺术创作领域,我们常常面临一个两难选择:要么使用云端AI服务但受限于网络和隐私,要么部署本地工具却要忍受复杂的配置和显存焦…...
像素时装锻造坊入门必看:预设咒语+Forge Scale滑块参数详解
像素时装锻造坊入门必看:预设咒语Forge Scale滑块参数详解 1. 工具介绍:像素时装锻造坊 像素时装锻造坊(Pixel Fashion Atelier)是一款基于Stable Diffusion与Anything-v5模型的图像生成工具。它采用独特的复古日系RPG界面设计&…...
