数值类型(bool,int->(enum),float)
在GS中,int的底层储存形式是64位的有符号整数,float是64位的浮点数;
bool
bool 类型是GS 内置声明的枚举类型,包含 true 和 false 两个值,bool更多用于条件判断语句中,其基本用法如下:
bool flag; // flag = false
flag = true; // flag = true
int
GS 支持十进制、二进制、八进制、十六进制和字符形式的字面量,如下所示:
int val = 65; // 四个式子等价,val的值都是18
int val = 0b1000001; // 二进制使用 0b 开头
int val = 0101; // 八进制使用 0 开头
int val = 0x41; // 十六进制使用 0x 开头
int val = 'A'; // 字符形式,val的值是65
int常用的外部函数
下面列出int类型一些常用的外部函数以及用法。
1.
string int_instance.to_string()
int转成string
2.
int int.parse(string str)
string转成int
3.
bool is_int(mixed val)
判断是否为int
4.
bool int_instance.is_alpha()
判断是否为字母
5.
bool int_instance.is_chinese()
判断是否是汉字
6.
bool int_instance.is_digit()
判断是否是字符型数字: '0'~'9'
7.
bool int_instance.is_lower()
判断是否是小写字母
8.
bool int_instance.is_upper()
判断是否是大写字母
9.
bool int_instance.is_xdigit()
判断是否是十六进制字符: '0'~'9','a'~'f','A'~'F'
10.
int int_instance.to_xdigit()
int转成字符: 10~15 to 'A'~'F'
11.
int int_instance.from_xdigit()
字符转成int: '0'~'9','A'~'F' to 0~15
12.
int int_instance.to_upper()
小写字母转成大写字母
13.
int int_instance.to_lower()
大写字母转成小写字母
14.
int int_instance.get_byte(int offset)
获取指定整数在指定偏移量处的字节(从低字节开始计数)
偏移量范围[0,7]
始终返回无符号数,即值范围[0,255]
15.
bool int_instance.get_bit(int offset)
获取指定整数在指定偏移量处的位(从低位开始计数)
偏移量范围[0,63]
如果该位为0返回false,否则返回true
注
条件判断语句中,int类型中除了0为false之外其它都为true。
float
float表示64位的浮点数,其只支持十进制形式的字面量,其用法如下
float pi = 3.14;
float a = 3f;
float b = 3.f;
float c = 3.0f;
float d = .1f;
注意:任意两个类型之间的转换都需要强制类型转换。
int val = 3.14; // 错误
int val = (int)3.14; // 正确
float pi = 3; // 错误
float pi = 3f; // 正确
float pi = (float)3; // 正确