前端(JavaScript)函数_数据转换类

文档概述

轻语言网站开发中的数据转换函数、用于数据类型和格式转换,包含进制转换、金额大小写转换、数据类型转换、编码转换等功能,常用于数据格式化、类型转换、编码处理等场景。

  • 类型转换核心到整数到小数到数值到文本 实现字符串与数值之间的互转,是表单数据处理的基础
  • JSON序列化JSON编码(对象→字符串)与 JSON解析(字符串→对象)成对使用,用于存储、传输复杂数据
  • 进制与编码到十六进制 / 到十进制 用于颜色值、字节数据处理;URL编码 / URL解码 用于网址参数处理
  • 特殊场景到大写金额 用于财务票据;为非数字 用于输入验证;取数据类型 用于运行时类型判断

💡 类型转换注意:从 localStorage 读取的数字是字符串型,参与数学运算前需用 到整数/到小数 转换;JSON解析 要求字符串必须是标准 JSON 格式(键名必须用双引号),否则会抛出错误。

函数:到整数(值)

将指定值(一般为字符串)转换为整数。代码示例:变量 整数 = 到整数(值)

' 将字符串转换为整数
变量 字符串数字 = "123"
变量 整数 = 到整数(字符串数字)
调试输出("转换结果: " + 整数)  ' 123
' 处理带小数的数字字符串
变量 带小数 = "45.67"
变量 整数部分 = 到整数(带小数)
调试输出("整数部分: " + 整数部分)  ' 45
' 处理无效输入
变量 无效输入 = "abc123"
变量 结果 = 到整数(无效输入)
如果(为非数字(结果))
	调试输出("转换失败")
否则
	调试输出("转换结果: " + 结果)
结束 如果

函数:到小数(值)

将指定值(一般为字符串)转换为小数。代码示例:变量 小数 = 到小数(值)

' 将字符串转换为小数
变量 字符串小数 = "123.45"
变量 小数 = 到小数(字符串小数)
调试输出("转换结果: " + 小数)  ' 123.45
' 处理科学计数法
变量 科学计数 = "1.23e2"
变量 转换结果 = 到小数(科学计数)
调试输出("转换结果: " + 转换结果)  ' 123
' 处理混合字符串
变量 混合字符串 = "3.14abc"
变量 部分结果 = 到小数(混合字符串)
调试输出("部分转换: " + 部分结果)  ' 3.14

函数:JSON解析(JSON文本)

解析JSON文本字符串并将其转成JSON对象,注意:JSON文本格式必须为标准格式,非标准格式将会抛出错误。

' 解析用户信息JSON
变量 用户JSON = "{\"姓名\":\"张三\",\"年龄\":25,\"城市\":\"北京\"}"
变量 用户对象 = JSON解析(用户JSON)
' 注:对象.属性 为原生 JS 对象属性访问语法,轻语言支持直接使用
调试输出("用户姓名: " + 用户对象.姓名)
调试输出("用户年龄: " + 用户对象.年龄)
' 解析数组形式的JSON
变量 数组JSON = "[{\"id\":1,\"name\":\"项目1\"},{\"id\":2,\"name\":\"项目2\"}]"
变量 数组对象 = JSON解析(数组JSON)
' 注:数组对象[i].name 为原生 JS 数组与对象访问语法,轻语言支持直接使用
变量循环(i = 0, 取数组成员数(数组对象), 1)
	调试输出("项目" + (i+1) + ": " + 数组对象[i].name)
结束循环

函数:JSON编码(JSON对象)

将JSON对象编码为JSON字符串。

' 将对象转换为JSON字符串
变量 用户信息 = {
	"姓名": "李四",
	"年龄": 30,
	"职业": "程序员"
}
变量 JSON字符串 = JSON编码(用户信息)
调试输出("JSON字符串: " + JSON字符串)
' 转换数组对象
变量 商品列表 = [
	{"名称": "商品1", "价格": 100},
	{"名称": "商品2", "价格": 200}
]
变量 商品JSON = JSON编码(商品列表)
调试输出("商品JSON: " + 商品JSON)

函数:取数据类型(值)

获取数据或变量类型。代码示例:变量 类型 = 取数据类型(值)

' 检查不同数据类型的变量
变量 数字 = 123
变量 字符串 = "hello"
变量 布尔值 = 真
变量 数组 = [1, 2, 3]
变量 对象 = {"name": "test"}
' 注:轻语言的空值关键字为 空,等价于原生 JS 的 null
变量 空值 = 空
变量 未定义
调试输出("数字类型: " + 取数据类型(数字))      ' number
调试输出("字符串类型: " + 取数据类型(字符串))   ' string
调试输出("布尔值类型: " + 取数据类型(布尔值))   ' boolean
调试输出("数组类型: " + 取数据类型(数组))      ' object
调试输出("对象类型: " + 取数据类型(对象))      ' object
' 注:历史遗留问题,null 的 typeof 返回 "object"
调试输出("空值类型: " + 取数据类型(空值))      ' object
调试输出("未定义类型: " + 取数据类型(未定义))   ' undefined
' 区分数组和普通对象
' 注:instanceof Array 为原生 JS 运算符,轻语言支持直接使用
如果(取数据类型(数组) == "object" 且 数组 instanceof Array)
	调试输出("这是一个数组")
结束 如果

函数:为非数字(值)

判断给定值是否为非数字值。代码示例:变量 是否非数字 = 为非数字(值)

' 检查值是否为有效数字
变量 数字字符串 = "123"
变量 非数字字符串 = "abc"
变量 空字符串 = ""
' 注:轻语言的空值关键字为 空,等价于原生 JS 的 null
变量 空值 = 空
如果(!为非数字(到小数(数字字符串)))
	调试输出(数字字符串 + " 是有效数字")
结束 如果
如果(为非数字(到小数(非数字字符串)))
	调试输出(非数字字符串 + " 不是有效数字")
结束 如果
' 处理用户输入验证
变量 用户输入 = 输入框_年龄.文本
如果(为非数字(到整数(用户输入)) 或 到整数(用户输入) <= 0)
	弹出提示("请输入有效的年龄")
否则
	调试输出("有效年龄: " + 到整数(用户输入))
结束 如果

函数:URL编码(值)

把字符串编码为 URI。代码示例:变量 编码值 = URL编码(值)

' 编码包含特殊字符的URL
变量 原始URL = "https://example.com/search?q=hello world&category=技术类"
变量 编码URL = URL编码(原始URL)
调试输出("编码后URL: " + 编码URL)
' 编码中文参数
变量 查询词 = "云计算技术"
变量 编码查询 = URL编码(查询词)
变量 完整URL = "https://example.com/search?q=" + 编码查询
调试输出("完整URL: " + 完整URL)
' 编码URL组件
变量 参数值 = "hello@world.com"
变量 编码参数 = URL编码(参数值)
调试输出("编码参数: " + 编码参数)

函数:URL解码(值)

解码某个编码的 URI。代码示例:变量 解码值 = URL解码(值)

' 解码URL中的特殊字符
变量 编码URL = "https://example.com/search?q=%E4%B8%AD%E6%96%87"
变量 解码URL = URL解码(编码URL)
调试输出("解码后URL: " + 解码URL)
' 解码查询参数
变量 编码参数 = "%E4%BA%91%E8%AE%A1%E7%AE%97%E6%8A%80%E6%9C%AF"
变量 解码参数 = URL解码(编码参数)
调试输出("解码参数: " + 解码参数)  ' 云计算技术
' 处理从浏览器获取的URL参数
' 注:window.location.href 为原生 JS BOM 属性,轻语言支持直接使用
变量 当前URL = window.location.href
变量 解码URL = URL解码(当前URL)
调试输出("当前页面: " + 解码URL)

函数:到数值(值)

将字符串转换为数值型数据。代码示例:变量 数值 = 到数值(值)

' 将字符串转换为数值
变量 字符串数字 = "123.45"
变量 数值 = 到数值(字符串数字)
调试输出("数值: " + 数值)  ' 123.45
' 处理布尔值转换
变量 布尔真 = 真
变量 布尔假 = 假
变量 真值 = 到数值(布尔真)  ' 1
变量 假值 = 到数值(布尔假)  ' 0
调试输出("真值: " + 真值 + ", 假值: " + 假值)
' 处理日期转换
变量 日期 = 创建时间对象("2023-01-01")
变量 时间戳 = 到数值(日期)
调试输出("时间戳: " + 时间戳)

函数:到文本(值)

将变量或某个对象转换为字符串数据值。代码示例:变量 文本 = 到文本(值)

' 将数值转换为字符串
变量 数值 = 123
变量 文本 = 到文本(数值)
调试输出("文本: " + 文本)  ' "123"
' 将布尔值转换为字符串
变量 布尔值 = 真
变量 布尔文本 = 到文本(布尔值)
调试输出("布尔文本: " + 布尔文本)  ' "true"
' 将数组转换为字符串
变量 数组 = [1, 2, 3]
变量 数组文本 = 到文本(数组)
调试输出("数组文本: " + 数组文本)  ' "1,2,3"
' 将对象转换为字符串
变量 对象 = {"name": "张三", "age": 25}
变量 对象文本 = 到文本(对象)
调试输出("对象文本: " + 对象文本)

函数:到十六进制(值)

将变量转换为16进制。代码示例:变量 十六进制文本 = 到十六进制(值)

' 将十进制数转换为十六进制
变量 十进制数 = 255
变量 十六进制 = 到十六进制(十进制数)
调试输出("十六进制: " + 十六进制)  ' "ff"
' 转换RGB颜色值
变量 红 = 255
变量 绿 = 128
变量 蓝 = 64
变量 RGB十六进制 = "#" + 到十六进制(红) + 到十六进制(绿) + 到十六进制(蓝)
调试输出("RGB颜色: " + RGB十六进制)  ' "#ff8040"
' 格式化十六进制输出
变量 数值 = 10
变量 格式化十六进制 = "0x" + 到大写(到十六进制(数值))
调试输出("格式化十六进制: " + 格式化十六进制)  ' "0xA"

函数:到十进制(值)

将16进制字符串转换为十进制数值。代码示例:变量 十进制数 = 到十进制(值)

' 将十六进制字符串转换为十进制
变量 十六进制字符串 = "ff"
变量 十进制数 = 到十进制(十六进制字符串)
调试输出("十进制: " + 十进制数)  ' 255
' 处理带前缀的十六进制
变量 带前缀 = "0xFF"
' 注:slice(2) 为原生 JS 字符串方法,可改用 取文本右边(带前缀, 取文本长度(带前缀) - 2) 或 取文本中间
变量 结果 = 到十进制(取文本右边(带前缀, 取文本长度(带前缀) - 2))
调试输出("十进制结果: " + 结果)  ' 255
' 转换颜色值
变量 颜色值 = "A0"
变量 十进制颜色 = 到十进制(颜色值)
调试输出("颜色分量值: " + 十进制颜色)  ' 160

函数:到大写金额(值)

将数值转成中文大写金额。代码示例:变量 大写金额 = 到大写金额(值)

' 将数值转换为中文大写金额
变量 金额 = 1234.56
变量 大写金额 = 到大写金额(金额)
调试输出("大写金额: " + 大写金额)  ' 壹仟贰佰叁拾肆元伍角陆分
' 处理整数金额
变量 整数金额 = 1000
变量 整数大写 = 到大写金额(整数金额)
调试输出("整数大写: " + 整数大写)  ' 壹仟元整
' 处理小额金额
变量 小额 = 0.56
变量 小额大写 = 到大写金额(小额)
调试输出("小额大写: " + 小额大写)  ' 伍角陆分

学习要点

知识点代码示例说明
字符串转整数到整数("123")字符串转整数,自动截断小数部分;无效输入返回 NaN,可用 为非数字 判断
字符串转小数到小数("45.67")字符串转浮点数,支持科学计数法;混合字符串会提取开头数字部分
对象序列化JSON编码(用户信息)对象/数组转 JSON 字符串,用于存储、传输;键名自动加双引号
对象反序列化JSON解析(用户JSON)JSON 字符串转对象,要求标准格式;单引号键名会报错,需用双引号
空值关键字变量 空值 = 空轻语言的空值关键字为 ,等价于原生 JS 的 null
类型查询取数据类型(数组)返回类型字符串:"number"/"string"/"boolean"/"object"/"undefined"
数组与对象区分数组 instanceof Array取数据类型 对数组和对象都返回 "object",需用 instanceof Array 区分
进制转换到十六进制(255) / 到十进制("ff")十进制↔十六进制互转,常用于颜色值、字节数据处理
URL编码URL编码("中文")将特殊字符、中文编码为 URL 安全格式,避免传输乱码
数字验证为非数字(到整数(输入))表单验证常用,判断输入是否可转为有效数字
原生JS方法替代取文本右边(文本, 取文本长度(文本) - 2)替代 slice(2);轻语言推荐用 取文本右边/取文本中间 处理字符串

相关文档

  • 文档前端(JavaScript)函数_储存类 —— 保存配置 / 读取配置 配合 JSON编码/JSON解析 存储对象
  • 文档前端(JavaScript)函数_字符串操作 —— 取文本长度取文本右边到大写 等字符串函数
  • 文档前端(JavaScript)函数_URL地址操作类 —— 取URL参数值取URL文件名 等网址处理函数
  • 文档前端(JavaScript)函数_对象操作 —— 取对象成员数取对象成员名 等对象遍历函数
  • 文档前端(JavaScript)函数_数组操作 —— 取数组成员取数组成员数 数组遍历函数