类型转换

Dart类型转换

杀马特。学长 韩版系。学妹 提交于 2019-11-27 13:02:01
void main(){ String str = "123"; print(int.parse(str)); int num = 123; String str2 = num.toString(); print(str2); String str3 = "123.1"; print(double.parse(str3)); String str4 = ""; try{ if(str4.isEmpty){ str4 = "12"; } print(double.parse(str4)); }catch(err){ print(err); } int Num; if(Num==null){ print(0); }else{ print(Num); } var Num2 = 0/0; if(Num2.isNaN){ print("NuN"); } print(Num2); } 来源: https://blog.csdn.net/u013600907/article/details/99678114

【C语言】运算符与表达式-003

百般思念 提交于 2019-11-27 12:37:46
C语言 第三章 运算符与表达式 3.1 常用运算符分类 3.2 算术运算符 3.3 赋值运算符 3.4 比较运算符 3.5 逻辑运算符 3.6 运算符优先级 3.7 类型转换 3.7.1 隐式转换 3.7.2 强制转换 第三章 运算符与表达式 3.1 常用运算符分类 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 位运算符 用于处理数据的位运算 sizeof运算符 用于求字节数长度 3.2 算术运算符 运算符 术语 示例 结果 + 正号 +3 3 - 负号 -3 -3 + 加 10 + 5 15 - 减 10 - 5 5 * 乘 10 * 5 50 / 除 10 / 5 2 % 取模(取余) 10 % 3 1 ++ 前自增 a=2; b=++a; a=3; b=3; ++ 后自增 a=2; b=a++; a=3; b=2; – 前自减 a=2; b=–a; a=1; b=1; – 后自减 a=2; b=a–; a=1; b=2; 3.3 赋值运算符 运算符 术语 示例 结果 = 赋值 a=2; b=3; a=2; b=3; += 加等于 a=0; a+=2; a=2; -= 减等于 a=5; a-=3; a=2; *= 乘等于 a=2; a*=2;

集合加泛型的类型转换

喜夏-厌秋 提交于 2019-11-27 12:12:21
问题引入 背景:DbUtils.list("from User")返回是List<Object>类型 需求:我们清楚的知道它的准确类型是List<User>,可能我们想直接的去进行类型的转换 尝试:List<User> listUser= (List<User>)DbUtils.list("from User"); 结果:报错 向下转型   java中父类向下转型为子类是没问题的尽管存在类型安全的隐患: 1 Object o= new Object(); 2 User u= new User(); 3 u= (User)o; 4 o= u;   为Object是所有类型的父级,所以任何对象都可以去转换成Object,因为有了这个继承的特性,有可能Object指向了一个User,而我们又需要使用这个User的方法,所以它支持存在安全隐患的强制向下转型,尽管存在安全隐患,但只要我们编码时稍微注意就可避免此隐患,因为我们知道这个Object指向的是一个User,所以有继承关系的向下类型转换是可避免的安全隐患。 那么为什么List<User>和List<Object>转就不行?   其实,这就像java中的二维数组初始化,你不能用下面的代码申请出5行10数据,而要先申请5行,后一行一行的申请。 1 new int[5][10]   也就是说,集合是一个二层的结构

浅学CLR via C#笔记之类型转换

泄露秘密 提交于 2019-11-27 12:06:21
我们都知道CLR最重要的一个特性就是类型安全,它在运行时就知道对象类型。 但我们会经常用到将一种类型转换成另一种类型,CLR也允许将对象转成他的实际类型,或者是它的基类型。 在C#中,支持隐士转换成它的基类型。 类型转换会用到以下方式: 1 public class EntityBase 2 { 3 public int Id {get; set;} 4 } 5 public class User 6 { 7 public string Name {get; set;} 8 } 9 10 ..... 11 public static void Main() 12 { 13 var user = new User(); 14 var entity = user; // 隐士转换 15 Object obj = user; 16 var user2 = (User) obj; // 显示转换 17 var user3 = obj as User; // as操作符转换 18 } 其中 (User) obj 用了强制转换,如果原始类型不是User的时候,会抛出异常。 而 obj as User 会先判断类型,然后才会转换,如果原始类型不是User的时候,会返回null,反而不会抛出异常。 有的时候为了处理异常,需要加一些判断,比如使用如下判断语句,先判断类型是否正确: 1 if(obj

【AutoMapper官方文档】DTO与Domin Model相互转换(中)

百般思念 提交于 2019-11-27 10:22:45
写在前面   AutoMapper目录: 【AutoMapper官方文档】DTO与Domin Model相互转换(上) 【AutoMapper官方文档】DTO与Domin Model相互转换(中) 【AutoMapper官方文档】DTO与Domin Model相互转换(下) 未完待续。。。   本篇目录: Custom Type Converters-自定义类型转换器 Custom Value Resolvers-自定义值解析器 Null Substitution-空值替换 Containers-IoC容器 后记   随着AutoMapper的学习深入,发现 AutoMapper在对象转换方面(Object-Object Mapping)还蛮强大的,当时使用AutoMapper的场景是DTO与Domin Model相互转换,所以文章的标题就是这个(标题有误),其实AutoMapper不止在这方面的转换,应该是涵盖所有对象(Object)之间的转换,上篇主要讲AutoMapper的基本转换使用,本篇可以定义为AutoMapper的灵活配置篇。    插一句 :有时候学习一门技术,还没有学很深入,发现还有比其更好的,然后就去学习另外一门技术,可能到头来什么也没学会、学精,前两天看一篇 C#程序员-你为何不受大公司青睐 ,其实不是C#不好,而是你没有学好,就像前几年讨论C

Javascript中的类型转换

天涯浪子 提交于 2019-11-27 04:36:01
Javas cript中的类型转换 首先我们可以看C中间的强制类型转换,只能存在整数可表示类型和浮点数类型之间,比如(int)2.45,这是可以的,但是他们和字符串之间都没有强制转换的可能,因为字符串实际是一个指针。因此不可能出现(char *)2.45就可以获得"2.45"这个字符串的情况,反之也不能。 而在C++中,我们可以创建一个类,并且重载强制转换操作,来完成这种情况,那么就必须要求有相应的对象,但是对于基本类型,这也是不可以的。 然后,因为JavaS cript在对象模型上主要参考了Java,我们可以再参考一下Java的类型转换: 在Java中,基本类型之间的强制转换也不是这样的,比如,整数要转换成字符串,必须使用Integer.toString()静态方法或者String.valueOf()静态方法,把字符串转换为整数,必须使用Integer.valueOf()。 可见,不能把JavaS cript中的类型转换看作为“强制类型转换”。 在JavaS cript中,Double类型和Int类型都是看作为Number对象,因此无论是typeof 1还是typeof 1.0,都是返回number。这样我们可以不用去管是Int还是Double类型,让JavaS cript解释引擎内部去处理。 1. 如果要把Number转换成String,可以使用Number的toString(

js之类型转换

喜夏-厌秋 提交于 2019-11-27 03:59:02
区别:   相等和不相等——先转换再比较 (==)   全等和不全等——仅比较而不转换 (===) 规则:  在转换不同的数据类型时,对于相等和不相等操作符:在JS高程中一书中给出如下的基本转换规则:   ①、如果有一个操作数是布尔值,则在比较相等性之前先将其转换为数值——false转换为0,而true转换为1;   ②、如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值   ③、如果一个操作数是对象,另一个操作数不是,则调用对象的valueOf()方法,用得到的基本类型值,如果没有得到基本数据类型值就会调用toString按照前面的规则进行比较 这两个操作符在进行比较时则要遵循下列规则。   ①、null 和undefined 是相等的   ②、要比较相等性之前,不能将null 和 undefined 转换成其他任何值   ③、如果有一个操作数是NaN,则相等操作符返回 false ,而不相等操作符返回 true。重要提示:即使两个操作数都是NaN,相等操作符也返回 false了;因为按照规则, NaN 不等于 NaN   ④、如果两个操作数都是对象,则比较它们是不是同一个对象,如果两个操作数都指向同一个对象,则相等操作符返回 true;否则, 返回false 举个经典的栗子解释一下: [ ] == ![ ]; !可将变量转换成boolean类型

Python 自动类型转换

时光毁灭记忆、已成空白 提交于 2019-11-27 03:07:12
当2个不同类型的数据进行运算的时候,默认向更高精度转换 数据类型精度从低到高: bool int float complex 自动类型转换 Number ( int float bool complex ) """ 精度从低到高 顺序 bool < int < float < complex 自动类型转换,默认向高精度,依次转化 """ # 1.bool + int """ bool = True ==>1 bool = False ==>0 """ res = True + 88 print(res) # 2.bool + float res = True + 8.8 print(res) # 3.bool + complex res = True + 3j print(res) # 4. int + float res = 30 + 8.8 print(res) # 5.int + complex res = 88 + 6j print(res) # 6.float + complex res = 8.88 + 3j print(res) 来源: https://www.cnblogs.com/CrownYP/p/11340691.html

类型转换,运算符

*爱你&永不变心* 提交于 2019-11-27 02:30:01
1、基本类型的转换 1.1、自动类型转换 当数据类型不一样的时候,将会发生类型换换 自动类型转换: (隐式转换) 1.特点: 代码不需要进行特殊处理,自动完成 2.规则:数据范围从小到大 例子: public class Demo01DateType{ public static void main(String[] args){ System.out.println(1024); System.out.println(3.14); // 左边的是long类型,右边的是int类型 // int类型转为long类型,符合范围从小到大 long num1 = 100; System.out.println(num1); // 左边的double类型, 右边的是float // float转为double类型,符合范围从小到大 double num2 = 2.5F; System.out.println(num2); // 左边的是float类型,右边的是long类型 // long类型数据转为float数据,符合范围从小到大 float num3 = 10L; System.out.println(num3); } } 1.2、强制类型转换 强制类型转换 1、特点:代码需要进行特殊的格式处理,不能自动完成 2、格式:范围小的类型,范围小的类型变量名 = ( 范围小的类型)范围大的类型

Java数据类型

◇◆丶佛笑我妖孽 提交于 2019-11-27 02:21:47
l 整数类型有固定的取值范围和字段长度,其不受具体操作系统的影响,以保证 java 程序的可移植性。 l 浮点类型有固定的表数范围和字段长度,不受操作系统影响。 l java 浮点类型常量有两种表示形式: 十进制数形式和 科学计数法形式 l java浮点型常量默认认为double型,如要声明一个常量为float型,则需在数字后面加f或F 布尔型没什么好说的, java字符采用Unicode编码 ,每个字符占两个字节,C语言字符占一个字节 说到数据类型自然有数据类型相互转换,接下来。。。 java有自动类型转换和强制类型转换 在菜鸟教程看到的总结 数据类型转换必须满足如下规则: 1. 不能对boolean类型进行类型转换。 2. 不能把对象类型转换成不相关类的对象。 3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。 4. 转换过程中可能导致溢出或损失精度 5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入 自动类型转换必须满足转换前的数据类型的位数要低于转换后的数据类型 来源: https://www.cnblogs.com/hurong07/p/11337957.html