Flutter 中的基本数据类型:num、int 和 double

在 Dart 编程语言中,数值类型的基础是 num,而 intdouble 则是 num 的子类型。在开发 Flutter 应用时,理解这三者的区别和使用场景是非常重要的。本文将详细介绍 numintdouble 的定义及其使用区别。

num

num 是 Dart 中的数值类型的基础类,可以存储整数和浮点数。任何 intdouble 类型的变量都可以赋值给 num 类型的变量。

特性
  • 可以是整数或浮点数
  • 提供一些基础的数值操作方法,例如 abs()ceil()floor()
示例
void main() {num a = 10;num b = 10.5;print(a); // 输出 10print(b); // 输出 10.5print(a.abs()); // 输出 10print(b.abs()); // 输出 10.5
}

int

intnum 的一个子类型,表示整数。它可以存储任何不带小数部分的数值。

特性
  • 只能存储整数
  • 不会有小数部分
  • 支持的操作包括基本的算术运算、位运算等
示例
void main() {int a = 10;int b = -5;print(a); // 输出 10print(b); // 输出 -5print(a + b); // 输出 5print(a.isEven); // 输出 trueprint(b.isNegative); // 输出 true
}

double

double 也是 num 的一个子类型,表示双精度浮点数。它可以存储带有小数部分的数值。

特性
  • 可以存储带小数部分的数值
  • 精度较高
  • 支持科学计数法表示
示例
void main() {double a = 10.5;double b = -3.14;print(a); // 输出 10.5print(b); // 输出 -3.14print(a + b); // 输出 7.36print(a.isFinite); // 输出 trueprint(b.isNegative); // 输出 true
}

使用区别

  1. 类型选择:在需要存储整数时,使用 int;在需要存储浮点数时,使用 double;在需要处理整数和浮点数混合的情况下,可以使用 num
  2. 性能和内存:在性能和内存方面,intdouble 在其各自的使用场景中是优化的。如果明确知道只需要整数或浮点数,应该优先使用 intdouble
  3. 操作和方法:虽然 num 提供了许多基础方法,但 intdouble 各自有一些特定的方法,例如 intisEvenisOdd,以及 doubleisNaNisInfinite

总结

numintdouble 是 Dart 中的三种基本数值类型,它们各有其独特的使用场景。理解它们的区别和特点,有助于在 Flutter 开发中选择合适的数值类型,从而编写出更加高效和健壮的代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战:springboot用LocalDateTime快速替换Date

概叙 实战:早点用JDK8中的java.time来替换java.util.Date-CSDN博客 在Spring Boot项目中大家从Date升级到LocalDateTime最关心以下两个问题: 使用LocalDateTime类型字段作为接口出入参数,能正常映射转换前端传入的参数吗?返回参…

贪心算法总结(1)

一、贪心算法简介 常用方法&#xff1a;交换论证法、数学归纳法、反证法、分类讨论 二、柠檬水找零&#xff08;交换论证法&#xff09; . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool lemonadeChange(vector<int>& bills) {int five0,t…

【考研数学】线代满分经验分享+备考复盘

我一战二战复习都听了李永乐的线代课&#xff0c;二战的时候只听了一遍强化&#xff0c;个人感觉没有很乱&#xff0c;永乐大帝的课逻辑还是很清晰的。 以下是我听向量这一章后根据听课内容和讲义例题总结的部分思维导图&#xff0c;永乐大帝讲课的时候也会特意点到线代前后联…

TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入

经过数月的开发和完善&#xff0c;TDengine 3.3.2.0 版本终于问世了。这一版本中既有针对开源社区的功能优化&#xff0c;也有从企业级用户需求出发做出的功能调整。在开源版本中&#xff0c;我们增强了系统的灵活性和兼容性&#xff1b;而在企业级版本中&#xff0c;新增了关键…

TK秘籍:深度剖析机房IP与住宅IP的利与弊

大家好&#xff0c;今天我们来聊聊TikTok运营中的一个重要环节——IP地址的选择。 想象一下&#xff0c;你在TikTok上发布视频&#xff0c;就像是在一个热闹的市集上摆摊&#xff0c;而IP地址就是你的摊位位置。选对了位置&#xff0c;你的摊位就能吸引更多顾客&#xff0c;也…

最小二乘求待定位点的位置(三维环境)|MATLAB

前言 之前发过三点法求待测点位置的程序讲解&#xff0c;哪个是二维的&#xff0c;见&#xff1a;基于伪逆的三点法距离求位置&#xff0c;MATLAB源代码&#xff08;MATLAB函数&#xff09; 这里给出三维情况下的函数和测试代码。对于函数&#xff0c;输入已知锚点的位置、待…

JavaEE:Spring Web简单小项目实践三(留言板实现)

学习目的&#xff1a; 1、理解前后端交互过程 2、学习接口传参&#xff0c;数据返回以及页面展示 目录 1、准备工作 2、约定前后端交互接口 1、获取全部留言 2、发表新留言 3、实现服务器端代码 4、调整前端页面代码 5、运行测试 1、准备工作 创建SpringBoot项目&#x…

Linux 服务器管理和维护

Linux 是一个非常严谨的操作系统&#xff0c;每个目录都有自己的作用&#xff0c;这些作用是固定的&#xff0c;没有特殊情况&#xff0c;应严格执行&#xff1b; Linux 中所有东西以文件形式存储和管理&#xff0c;命令也不例外&#xff1b; 以下四个 bin 是二进制文件&…

SVM 技能测试:25 个 MCQ 用于测试数据科学家的 SVM

SVM 技能测试:25 个 MCQ 用于测试数据科学家的 SVM(2024 年更新) 一、介绍 你可以把机器学习算法想象成一个装满斧头、剑和刀片的军械库。你有各种各样的工具,但你应该学会在正确的时间使用它们。打个比方,将“线性回归或逻辑回归”视为一把能够有效地切片和切块数据但…

鸿蒙仓颉语言【泛型generic】

泛型 泛型特性&#xff1a; 在给定的代码中&#xff0c;泛型被用于定义参数的类型。举例来说&#xff0c;Array和Array<(Event, (Event)->Event)>中的Array都是泛型类型&#xff0c;它们可以接受不同类型的参数。 与Java的泛型相比&#xff1a; Java也有泛型特性&am…

LeetCode 739, 82, 106

文章目录 739. 每日温度题目链接标签思路代码 82. 删除排序链表中的重复元素 II题目链接标签思路代码 106. 从中序与后序遍历序列构造二叉树题目链接标签思路二叉树的三种遍历值与索引的映射对于后序遍历的使用对于中序遍历的使用 代码 739. 每日温度 题目链接 739. 每日温度…

力扣第十八题——四数之和

内容介绍 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#xff09;&#xff1a; 0…

jenkins 插件版本冲突

一、Jenkins安装git parameter 插件重启后报错与临时解决方案 cd /root/.jenkins cp config.xml config.xml.bak vim config.xml <authorizationStrategy class"hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAcces…

protoc-gen-go-http: program not found or is not executable

# 1 先升级到最新版 sudo kratos upgrade # 2 安装 protoc-gen-go-http go get -u github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2 go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2 # 3 安装 protoc-gen-go-errors go get -u github.com/go-…

【工具使用】EMACS的verilog_mode脚本

#工作记录# 俗话说不会玩连连看的工程师不是一个好的SoC工程师。 在做集成工作的时候&#xff0c;集成连线估计是一件比较繁琐且容易出错的事情&#xff0c;连线类型定义出错、位宽问题、连线众多等等问题&#xff0c;此时使用由Veripool带来的verilog_mode简直是令人神清气爽…

基于牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)的无人机三维路径规划

牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)是一种新型的元启发式算法&#xff08;智能优化算法&#xff09;&#xff0c;该成果由Sowmya等人于2024年2月发表在中科院2区Top SCI期刊《Engineering Applications of Artificial Intelligence》上。 1、算法原理…

制造运营管理系统(MOM系统),企业实现先进制造的关键一步

随着全球制造业的快速发展&#xff0c;企业对于生产效率和成本控制的要求日益增高。在这个背景下&#xff0c;制造运营管理系统&#xff08;MOM系统&#xff09;成为了企业提升竞争力的关键工具。盘古信息作为业内领先的智能制造解决方案提供商&#xff0c;其MOM系统更是以其卓…

首批通过 | 百度通过中国信通院H5端人脸识别安全能力评估工作

2024年5月&#xff0c;中国信息通信研究院人工智能研究所依托中国人工智能产业发展联盟安全治理委员会&#xff08;AIIA&#xff09;、“可信人脸应用守护计划”及多家企业代表共同开展《H5端人脸识别线上身份认证安全能力要求及评估方法》的编制工作&#xff0c;并基于该方法开…

大数据时代,如何用Scikit-Learn高效转换数据?

大数据时代&#xff0c;如何用Scikit-Learn高效转换数据&#xff1f; 在数据科学领域&#xff0c;数据预处理是至关重要的一步。Scikit-Learn&#xff08;简称sklearn&#xff09;&#xff0c;作为Python中最受欢迎的机器学习库之一&#xff0c;提供了一系列的数据转换工具&am…

COD论文笔记 Deep Gradient Learning for Efficient Camouflaged 2022

动机 这篇论文的动机在于解决伪装目标检测(COD)中的一个关键问题&#xff1a;在复杂背景下&#xff0c;伪装目标与背景的边界模糊&#xff0c;使得检测变得极其困难。现有的方法&#xff0c;如基于边界或不确定性的模型&#xff0c;通常仅响应于伪装目标的稀疏边缘&#xff0c…