文章目录

  • 简介
  • dart:math包的构成
  • math
  • Random
  • 总结

简介

dart也可以进行数学运算,dart为数学爱好者专门创建了一个dart:math包来处理数学方面的各种操作。dart:math包提供了正弦,余弦,最大值,最小值和随机数等操作。

一起来看看dart:math包都能做什么吧。

dart:math包的构成

如果你去查看dart:math的源代码,你会发现,dart:math包其实很简单,它里面只有4个文件。分别是:

math.dart,random.dart,point.dart和rectangle.dart。

后面两个文件,主要跟二维坐标有关,这里不详细说明。

我们常用到的就是前面两个文件,math和random。

math

math中定义了我们在数学运算中常用到的一些常量,如:

const double e = 2.718281828459045;const double ln10 = 2.302585092994046;const double ln2 = 0.6931471805599453;const double log2e = 1.4426950408889634;const double log10e = 0.4342944819032518;const double pi = 3.1415926535897932;const double sqrt1_2 = 0.7071067811865476;const double sqrt2 = 1.4142135623730951;

计算最大值和最小值:

assert(max(18, 20) == 20);
assert(min(18, 20) == 18);

使用三角函数:

assert(cos(pi) == -1.0);var degrees = 30;
var radians = degrees * (pi / 180);var sinOf30degrees = sin(radians);assert((sinOf30degrees - 0.5).abs() < 0.01);

Random

dart中的random包提供了一些比较有用的生成随机数的方法,先看下Random类的定义:

abstract class Random {external factory Random([int? seed]);external factory Random.secure();int nextInt(int max);double nextDouble();bool nextBool();
}

我们可以使用Random中提供的nextInt,nextDouble和nextBool来生成对应的随机数:

var random = Random();
random.nextDouble();
random.nextInt(10);
random.nextBool();

默认情况下,Random生成的是伪随机数,要想生成更加安全的随机数,比如密码学意义上的随机数,Random还有一个更加安全的实现Random.secure()。

总结

以上就是dart中math库的介绍。

本文已收录于 http://www.flydean.com/18-dart-math/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

dart系列之:数学什么的就是小意思,看我dart如何玩转它相关推荐

  1. dart系列之:HTML的专属领域,除了javascript之外,dart也可以

    文章目录 简介 DOM操作 CSS操作 处理事件 总结 简介 虽然dart可以同时用作客户端和服务器端,但是基本上dart还是用做flutter开发的基本语言而使用的.除了andorid和ios之外, ...

  2. dart系列之:dart语言中的特殊操作符

    dart系列之:dart语言中的特殊操作符 文章目录 简介 普通操作符 类型测试操作符 条件运算符 级联符号 类中的自定义操作符 总结 简介 有运算就有操作符,dart中除了普通的算术运算的操作符之外 ...

  3. 数学系列:数学在计算机图形学中的应用

    宇宙的琴弦 博客园 首页 新随笔 联系 订阅 管理 随笔 - 60   文章 - 0   评论 - 0 数学系列:数学在计算机图形学中的应用 Copyright © 1900-2016, NORYES ...

  4. dart系列之:手写Library,Library编写实践

    文章目录 简介 使用part和part of src中的文件 package中的lib文件 总结 简介 Library是dart用来组织代码的一种非常有用的方式,通过定义不同的Library,可以将非 ...

  5. dart系列之:你的地盘你做主,使用Extension对类进行扩展

    文章目录 简介 dart中extension的使用 API冲突 extention的实现 总结 简介 一般情况要扩展一个类,需要继承这个类,这是在大多数java或者其他面向对象语言中要做的事情. 但是 ...

  6. dart系列之:dart优秀的秘诀-隔离机制

    文章目录 简介 dart中的隔离机制 生成一个Isolate Isolate之间的交互 一个例子 总结 简介 之前介绍了很多dart中的异步编程技巧,不知道大家有没有发现一个问题,如果是在java的异 ...

  7. dart系列之:创建Library package

    文章目录 简介 Library package的结构 导入library 条件导入和导出library 添加其他有效的文件 library的文档 发布到pub.dev 总结 简介 在dart系统中,有 ...

  8. dart系列之:元世界pubspec.yaml文件详解

    文章目录 简介 pubspec.yaml支持的字段 一个例子 字段详情 总结 简介 pubspec.yaml是所有dart项目的灵魂,它包含了所有dart项目的依赖信息和其他元信息,所以pubspec ...

  9. c语言 解元二次函数的源代码,学霸强推,高中数学万能解题方法,对数学一筹莫展的你必看!...

    数学不好怎么办,你有多头疼数学成绩?你还担心自己学不好数学吗?其实只要掌握学习的方法,数学就能迅速提升. 今天,小编整理了一份学霸们强推的数学解题方法,对大家肯定有帮助,数学不好的一定要看! 本文适合 ...

最新文章

  1. oracle union 最多_用户来稿:我就是那个在优买计划赚钱最多的男人
  2. Java输入输出流IO
  3. 轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
  4. leetcode209. 长度最小的子数组(暴力+滑动窗口)
  5. 云片短信php接口_php与阿里云短信接口接入
  6. 问题 A: 编写函数:比较三个数大小 (Append Code)
  7. 台式电脑计算机能创建新磁盘吗,解决方案:如何添加硬盘以扩展台式计算机上的存储空间|如何对新添加的硬盘进行分区...
  8. angular2 localStorage的使用
  9. mysql药品管理_药品管理系统(药库管理)+数据库连接代码
  10. 图片怎么转换成文字?几个好用的方法快来查阅
  11. adb获取剪贴板内容_Android复制粘贴剪切板内容的一种方法
  12. UI基本控件(一):UIScrollView
  13. 自己对网站SEO的一些简单了解
  14. 电脑不停,电脑不停重启
  15. 博弈论分析题_《博弈论》期末考试试题
  16. 1.TPC-C测试工具一——TPC-C简介
  17. 网络安全-WEB中的常见编码
  18. code wars_从开发人员的角度看Browser Wars™(扩展)
  19. C#检测网络连接状态
  20. randint和randrange的区别

热门文章

  1. 机器学习-回归之逻辑回归算法原理及实战
  2. oracle 的遍历语法,oracle pl/sql之pl/sql语法
  3. unix下批量进程的创建和强杀命令
  4. 网骗欺诈?网络裸奔?都是因为 HTTP?
  5. HashMap+双向链表实现LRU
  6. 在鹅厂做了14年开发
  7. 为啥国人偏爱 Mybatis,而老外喜欢 Hibernate/JPA 呢?
  8. 深度解密Go语言之scheduler
  9. 一个卑微的程序员友链
  10. 堡垒之夜一年内增1亿玩家、YouTube为支持AV1的8K电视提供8K内容、Elon Musk要过极简生活等...