写点什么

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

作者:程序那些事
  • 2021 年 11 月 30 日
  • 本文字数:913 字

    阅读完需:约 3 分钟

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

简介

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/

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

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

发布于: 4 小时前阅读数: 5
用户头像

关注公众号:程序那些事,更多精彩等着你! 2020.06.07 加入

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在公众号:程序那些事!

评论

发布
暂无评论
dart系列之:数学什么的就是小意思,看我dart如何玩转它