【Dart/Flutter】一些常用的基本数据格式转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【Dart/Flutter】一些常用的基本数据格式转换相关的知识,希望对你有一定的参考价值。
参考技术A十六进制
有时,从16进制转换为字符串后,因为16进制数据源的原因,前后可能会有空格以及一些奇怪的字符
此时需要去掉,可以通过以下这个方法(参考源:JDK中String的trim方法实现)
十进制
乘方/次方/次幂
UInt8List转十六进制,具体细则看注释
[Dart] Flutter开发中的几个常用函数
几个Flutter开发中的常用函数
/** 返回当前时间戳 */ static int currentTimeMillis() { return new DateTime.now().millisecondsSinceEpoch; } /** 复制到剪粘板 */ static copyToClipboard(final String text) { if (text == null) return; Clipboard.setData(new ClipboardData(text: text)); } static const RollupSize_Units = ["GB", "MB", "KB", "B"]; /** 返回文件大小字符串 */ static String getRollupSize(int size) { int idx = 3; int r1 = 0; String result = ""; while (idx >= 0) { int s1 = size % 1024; size = size >> 10; if (size == 0 || idx == 0) { r1 = (r1 * 100) ~/ 1024; if (r1 > 0) { if (r1 >= 10) result = "$s1.$r1${RollupSize_Units[idx]}"; else result = "$s1.0$r1${RollupSize_Units[idx]}"; } else result = s1.toString() + RollupSize_Units[idx]; break; } r1 = s1; idx--; } return result; }
/** 返回两个日期相差的天数 */ static int daysBetween(DateTime a, DateTime b, [bool ignoreTime = false]) { if (ignoreTime) { int v = a.millisecondsSinceEpoch ~/ 86400000 - b.millisecondsSinceEpoch ~/ 86400000; if (v < 0) return -v; return v; } else { int v = a.millisecondsSinceEpoch - b.millisecondsSinceEpoch; if (v < 0) v = -v; return v ~/ 86400000; } }
/** 获取屏幕宽度 */ static double getScreenWidth(BuildContext context) { return MediaQuery.of(context).size.width; } /** 获取屏幕高度 */ static double getScreenHeight(BuildContext context) { return MediaQuery.of(context).size.height; } /** 获取系统状态栏高度 */ static double getSysStatsHeight(BuildContext context) { return MediaQuery.of(context).padding.top; }
以上是关于【Dart/Flutter】一些常用的基本数据格式转换的主要内容,如果未能解决你的问题,请参考以下文章
Flutter/Dart - Dart中的抽象类 多态 和接口
Dart / Flutter - 有没有像 javascript 一样为 HTML 块获取 innerText? [复制]