DevEco Studio 实战第一节:字符串拼接与组件构建

引言

在现代软件开发中,TypeScript 提供了强类型的优势,而 DevEco Studio 作为华为推出的开发集成环境,提供了便捷的代码管理和版本控制功能。本文将通过一个简单的示例,介绍如何在 TypeScript 和 DevEco Studio 中进行字符串拼接以及如何构建基本的组件。

第一节

1.1字符串拼接

在 TypeScript 中,字符串拼接是一个常见的操作,可以通过加号(+)运算符来实现。当加号两边至少有一个是字符串时,它将执行字符串拼接操作。

示例代码

let name: string = 'thewang';
let age: number = 19; console.log('Personal information:', 'name' + name);
console.log('Personal information:', 'age' + age.toString());

注意点

  • 字符串与数字拼接 :当加号两边至少有一个是字符串时,另一个数字会被转换成字符串,然后进行拼接。这里使用 toString() 方法将数字转换为字符串。
  • 加号的双重作用:如果两边都是数字,加号将执行求和操作。

1.2数字求和示例

let num1: number = 100;
let num2: number = 200;
console.log('totality', num1 + num2);

1.示例

let name: string = 'thewang'
let age: number = 19
console.log('Personal information:', 'name' + name);
console.log('Personal information:', 'age' + age.toString()); let num1: number = 100
let num2: number = 200
console.log('Personal information:', 'name' + name);
console.log('Personal information:', 'age' + age.toString()); @Entry
@Component
struct Index {
@State message: string = 'Hello World'; build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}

运行结果

2.1模板字符串的基本使用

模板字符串允许你在字符串中直接嵌入变量和表达式,通过 ${expression} 的形式插入。这种方式使得字符串拼接更加直观和简洁。

示例代码

let name: string = 'thewang';
let age: number = 19;
// 使用模板字符串拼接信息
console.log(`Personal information:name: ${name}, age: ${age}`);

3.字符串与数字的转换

3.1 Number() 函数

Number() 函数用于将字符串转换为数字。如果字符串是有效的数字格式,它将被转换为相应的数字;否则,结果将是 NaN(Not a Number)。

示例代码

let str1: string = '1.1';
let str2: string = '1.8a';
let str3: string = 'a'; console.log('Number', Number(str1)); // 1.1
console.log('Number', Number(str2)); // 1.8
console.log('Number', Number(str3)); // NaN

3.2 parseInt() 函数

parseInt() 函数用于将字符串转换为整数,它会自动忽略字符串中的非数字字符,直到遇到第一个非数字字符为止,然后停止解析。

示例代码

console.log('parseInt', parseInt(str1)) // 1
console.log('parseInt', parseInt(str2)) // 1
console.log('parseInt', parseInt(str3)) // NaN

3.3 parseFloat() 函数

parseFloat() 函数用于将字符串转换为浮点数,它也会忽略字符串中的非数字字符,直到遇到第一个非数字字符为止,然后停止解析。

示例代码

console.log('parseFloat', parseFloat(str1)) // 1.1
console.log('parseFloat', parseFloat(str2)) // 1.8
console.log('parseFloat', parseFloat(str3)) // NaN

示例代码

let str1: string = '1.1';
let str2: string = '1.8a';
let str3: string = 'a'; console.log('Number', Number(str1)); // 1.1
console.log('Number', Number(str2)); // 1.8
console.log('Number', Number(str3)); // NaN console.log('parseInt', parseInt(str1)) // 1
console.log('parseInt', parseInt(str2)) // 1
console.log('parseInt', parseInt(str3)) // NaN console.log('parseFloat', parseFloat(str1)) // 1.1
console.log('parseFloat', parseFloat(str2)) // 1.8
console.log('parseFloat', parseFloat(str3)) // NaN @Entry
@Component
struct Index {
@State message: string = 'Hello World'; build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}

运行结果

4. 数字转字符串

4.1 toString() 方法

toString() 方法用于将数字转换为字符串。这个方法可以接受一个参数,即基数(从2到36),用于指定转换的进制。如果不指定参数,默认使用10进制。

示例代码

let money: number = 100;
// 将数字转换为字符串
console.log('toString:', money.toString());

4.2 toFixed() 方法

toFixed() 方法用于将数字转换为字符串,并保留指定的小数位数。这个方法会自动进行四舍五入。

示例代码

// 将数字转换为字符串,并保留小数点后0位
console.log('toFixed:', money.toFixed()); // 将数字转换为字符串,并保留小数点后2位
console.log('toFixed:', money.toFixed(2));

示例代码

let money: number = 100
console.log('toString:', money.toString())
console.log('toFixed:', money.toFixed())
console.log('toFixed:', money.toFixed(2)) @Entry
@Component
struct Index {
@State message: string = 'Hello World'; build() {
Row() {
Column() {
Text('商品价格: ¥' + money.toFixed(2))
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}

运行结果

组件解释

  • @Entry 和 @Component:这些装饰器用于标记这是一个组件的入口点,并且定义了一个组件。
  • @State:用于定义组件的状态,类似于 React 中的 state。
  • build 方法:这是组件的构建方法,返回组件的 UI 结构。
  • Row 和 Column:这些可能是布局组件,用于创建行和列的布局。
  • Text:用于显示文本的组件。
  • 样式设置.fontSize(50).fontWeight(FontWeight.Bold) 分别用于设置字体大小和字体权重。

结语

通过本文,我们学习了 TypeScript 中的字符串与数字转换技巧以及如何在 DevEco Studio 中构建基本的组件。这些基础知识将为进一步学习前端开发和使用 DevEco Studio 打下坚实的基础。希望本文能够帮助你更好地理解和应用这些技术。

DevEco Studio 实战第一节:字符串拼接与组件构建的更多相关文章

  1. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  2. 第一节,TensorFlow基本用法

    一 TensorFlow安装 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tsnsor(张量)意味着N维数组,Flow(流)意味着基 ...

  3. Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置

    原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许 ...

  4. mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子

    mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...

  5. sencha touch 在线实战培训 第一期 第一节

    经过忙碌的准备,终于在2013.12.28晚上8点开了第一节课. 第一次讲课有些小紧张,讲的内容也比较基础,不过算是开了一个好头. 本期培训一共八节,前三堂免费,后面的课程需要付费才可以观看. 本节内 ...

  6. android内部培训视频_第一节

    声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...

  7. 第一节:ASP.NET开发环境配置

    第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...

  8. ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪

    ASP.NET MVC深入浅出(被替换)   一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...

  9. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  10. 羞,Java 字符串拼接竟然有这么多姿势

    二哥,我今年大二,看你分享的<阿里巴巴 Java 开发手册>上有一段内容说:"循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作 ...

随机推荐

  1. C# HttpClient 基本使用方式(一)

    .NetCore主要提供了HttpWebRequest,WebClient,HttpClient这三种访问web的方式,其中HttpWebRequest,WebClient都在官方被标注为已过时,如果 ...

  2. 合合信息亮相“海聚英才”全球创新创业峰会,政企研合力推动AI人才培养

    近日,"聚上海,创未来"第三届"海聚英才"全球创新创业峰会在沪举行,"创新之路:卓越工程师培养交流研讨会"(简称"研讨会" ...

  3. 2024.7.5-2024.7.20 HA省学会集训游记(焦作一中)

    这是一篇长篇小说 DAY1 除了DAY4-DAY5个别内容以外,这些都是补的,但是全写完有太多了qwq,挑题写了 树状数组和线段树基础 很多都是一些模板题,太模板的题不再做太多解释 题目: P4062 ...

  4. MybatisPlus——入门案例

    MyBatisPlus MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发.提高效率 开发方式 基于MyBatis使用MyBatisPlus 基于Sprin ...

  5. Material Design In XAML Toolkit 5.0.0 Migration Guide

    MaterialDesignInXamlToolkit 5.0有破坏性的更新,下面的连接可以用于4.x升级到5.0的一个手册.仅供参考,欢迎升级5.0时使用. https://github.com/M ...

  6. java基础 -网络编程笔记

    666,InetAddress package com.hspedu.api; import java.net.InetAddress; import java.net.UnknownHostExce ...

  7. 控制请求并发数量:p-limit 源码解读

    p-limit 是一个控制请求并发数量的库,他的整体代码不多,思路挺好的,很有学习价值: 举例 当我们同时发起多个请求时,一般是这样做的 Promise.all([ requestFn1, reque ...

  8. bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕)

    机器人搬重物 题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品.机器人的形状是一个直径 \(1.6\) 米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个 \(N\tim ...

  9. 交通网络分析性能再升级,SuperMap iServer新增开启SSC分析模型

    导语 SSC分析模型,全名SuperMap Short Cut,底层采用Contraction Hierarchies(简称CH)算法,该算法旨在通过对图形进行预处理和优化来降低最佳路径分析的时间复杂 ...

  10. Autodesk Maya无法打开 refrence file 解决办法

    删除预设 预设的位置在: 我的文档/maya/version/ prefs 备注: 我的文档/maya/version/ 无法确定是不是该路径下的所有文件夹都能删除,所以只剪切了 prefs 文件夹出 ...