标签:ide class run 环境 gui 取值 引号 ace ber
像大多数语言一样,dart也提供了number,string,boolean等类型,包括以下几种:
number类型包含int和float类型,int在dart的VM环境下,取值范围在-263 到 263-1之间。如果需要转为js,范围为js的范围,-253 到 253-1。代码示例如下:
import ‘dart:math‘;
main(List<String> args) {
int a = 2;
int a1 = 2.0; //报错
double b = 2.0;
double b1 = 2; //dart2.1会自动转换,之前的版本会报错
var c = 0x111; //支持16进制表示
print(pow(2, 65)); // 打印出0 超出数字范围
}
将数字转换为字符串可以使用数字的toString方法,将字符串转换为数字可以使用字符串的parse方法。这点和js相比,js借助隐式类型转换可以更灵活的转换数字和字符串。
// 数字转字符串
print(2.toString());
print(2.5333.toString());
print(2.5333.toStringAsFixed(2));//2.50 保留几位小数
print(2.5333.toStringAsExponential(2));// 科学计数法
print(2.5333.toStringAsPrecision(8));//2.5333000
// 字符串转数字
print(int.parse(‘1‘));
print(double.parse(‘2‘));
在运算上,数字支持常用的四则运算,此外dart提供了一个math包来支持更复杂的运算。
在语法上,dart的字符串和python的语法更为接近,如可以使用单引号和双引号,使用三个双引号表示多行字符串。以下都是合法的字符串表示形式:
var s1 = ‘hhh‘;
var s2 = "‘11‘";
var s3 = ‘111‘
"222";
var s4 = """222
333
2222""";
在字符串的方法上,与js的字符串很类似,甚至部分代码可以直接拷到js中执行。下面是关于dart字符串方法的一个例子,更详细的文档可以看这里:
//长度
‘1234‘.length; //4
// 取子串
‘1234‘.substring(1,2);
// 取unicode值
print(‘123456‘.codeUnitAt(1)); //js中的charCodeAt()
// 判断某个字符串是不是以某子串开始或结束
‘123456??‘.startsWith(‘12‘); //js相同
‘123456??‘.endsWith(‘??‘); //js相同
// replace
‘112‘.replaceAll(‘1‘, ‘x‘);// ‘xx2‘ 全部替换
‘112‘.replaceFirst(‘1‘, ‘x‘);// ‘x12‘ 只替换第一个
//split
print(‘1234561‘.split(‘3‘)); // 同js
// trim,trimLeft,trimRight修剪两边,左边,右边的空格,同js
print(‘ 1234561 ‘.trim());
//contains
print(‘1234561‘.contains(‘8‘)); //false 判断字符串是否包含某个子串
// indexOf,lastIndexOf,获取某个字串第一次出现和最后出现的位置。同js,没有返回-1
print(‘ 1234561 ‘.indexOf(‘9‘));// -1
// padLeft,padRight 同js的padStart和padEnd
print(‘1234561‘.padLeft(9, ‘0‘));//001234561
print(‘1234561‘.padEnd(9, ‘0‘));//123456100
// toUpperCase,toLowerCase同js
print(‘x‘.toUpperCase());
print(‘X‘.toLowerCase());
标签:ide class run 环境 gui 取值 引号 ace ber
原文地址:https://www.cnblogs.com/imgss/p/10045381.html