10-10C#基础---数据类型之间的转换
10-10 C#基础数据类型转换(熟练掌握)
第一课 数据类型之间的转换
基本类型的转换:自动转换(隐式转换)和强制转换(显示转换)
装箱转换:允许值类型隐式转换成引用类型。
拆箱转换:允许将引用类型显示转换成值类型
分为2个步骤:首先,检查对象是否超出类型范围,然后再进行转换。
Object包含所有的类型,其他类型都可以转换成Object类型,但Object不能转换成其他类型。
例: int i=0
object o = i;
三种转换方式:
1)、用( )。( )内是转换后的数据类型,只能转换同一大类(值类型之间转换或引用类型之间转换)。强制转换
例1: int i = 0;
double d = (double)i;
Console.Write(d);
Console.ReadLine();
例2: int i = 0;
double d=i;
d = 1.23;
i=(int)d;
Console.Write(i);
Console.ReadLine();
执行后:

例3、 float f = 1.23f;
int i = f;
Console.Write(i);
Console.ReadLine();这是错误的写法。

当编写控制台程序完成启动时出现上面的内容,表示浮点型无法自动(隐式)转换成整形,中间必须有一个强制转换的过程。
正确编写:
float f = 1.23f;
int i = Convert.ToInt16(f);
Console.Write(i);
Console.ReadLine();
执行后:

2)、使用convert(将一个基本数据类型转换为另一个基本数据类型的类)。Convert只有在符合数据类型范围的情况下才能进行转换。强制转换
例1: float f=1.3f;在创建float类型时,要加F后缀。
double d=Convert.ToDouble(f);
Console.Write(d);
Console.ReadLine();
执行后:

例2、 string s = "12";
int i = Convert.ToInt16(s);
Console.Write(i);
Console.ReadLine();
执行后:

3)、.parse解析。用于字符串型转相应值类型。
4)例: string s = "12.2";
double d = double.Parse(s);
执行后:(使用parse执行后,数值不变。)隐式转换

但是,string 类型无法直接转换为int 类型,必须再经过强制转换的过程。
例: string s = "12.2";
double d = double.Parse(s);
int i=(int)d;
Console.Write(i);
Console.ReadLine();
执行后:

正确编写过程: float a;
string b = "3.14";
a = float.Parse(b);
int i = (int)a;
Console.Write(i);
Console.ReadLine();
执行后:

练习题: 判断: Console.WriteLine(“请输入一个100以内的整数:37”);
int a = Convert.ToInt16(37);
Console.WriteLine(a % 7 == 0);//a是否能被7整除
Console.WriteLine();
Console.WriteLine(a % 10 == 7);//a的个位是否是7
Console.WriteLine();
Console.WriteLine(a / 10 == 7);//a的十位是否是7
Console.ReadLine();
执行后,出现一下界面:

随堂练习:
设计一个小程序:输入100内的整数,每行输入一个数值,输入完第十个数的时候,自动求得这个数的和。(任意录入,每次执行,人工录入不同的数,就可以得到不同的结果。)
操作界面:

执行后显示界面:

补充:代位符
string xingming="小明";
string xingbie="男";
Console.Write("你的姓名是:{0},性别{1}",xingming,xingbie) ;
Console.ReadLine();
执行后显示界面:

10-10C#基础---数据类型之间的转换的更多相关文章
- Java基础——数据类型之间的转换
Java数据类型分为三大类,即布尔型.字符型和数值型.其中数值型又分为整型和浮点型.Java的基本数据类型(8种)为布尔型boolean(1字节):字符型char(2字节):整型byte(1字节).s ...
- 系统学习(javascript)_基础(数据类型之间的转换)
在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用javascript弱变量类型转换). 强制转换: 利用js提供的函数parseInt(),parseFloat(),Number( ...
- 记录我的 python 学习历程-Day07 基础数据类型进阶 / 数据类型之间的转换 / 基础数据类型总结 / 编码的进阶
基础数据类型 str(字符串) str:补充方法练习一遍就行 s.capitalize() 首字母大写,其余变小写 s = 'dyLAn' print(s.capitalize()) # Dylan ...
- java中的、标识符、运算符以及数据类型之间的转换。
---恢复内容开始--- 数据类型之间的转换: 1:自动转换:就是不用说出要转换成什么类型,由java中的虚拟机自动将小数据类型转换成大数据类型,但大数据中的数据精度有可能被破坏. 2:强制转换:强制 ...
- Java中的基本数据类型和基本数据类型之间的转换
在Java中有8中基本数据类型,分别为: 整型: byte.short.int.long 浮点型:float.double 布尔型:boolean 字符型:char. byte: 8位, 封装 ...
- golang 数据类型之间的转换
一.基本数据类型之间的转换 1.string到int int,err:=strconv.Atoi(string) 2.string到int64 int64, err := strconv.ParseI ...
- JavaSE:数据类型之间的转换(附常见面试题)
数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...
- 浅谈C#语言中的各种数据类型,与数据类型之间的转换
什么是数据类型? 数据类型,百度百科是这样解释的:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作.这样的解释对于一个初学者来说未必太过于深奥. 简单点说,数据类型就是不同长度的 ...
- JavaScript中基本数据类型之间的转换
在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型.五种基本数据类型分别是:Number 数值类型.String 字符串类型.Boolean 布尔类型, nu ...
随机推荐
- Qt 安装事件过滤器installEventFilter
Qt 安装事件过滤器installEventFilter (2013-01-28 14:29:18) 转载▼ 分类: 工作笔记 Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他 ...
- BZOJ3244/UOJ122 [Noi2013]树的计数
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- JNI_C#
1. 基本就是 通过 JAVA --> C/C++ --> C#的DLL 2. (1).自己写 JNI与 C#的DLL 通信 http://www.cnblogs.com/yinhaimi ...
- 2017-02-20 注册.Net Framework4.0
在使用IIS发布Web应用程序时,有时会遇到Asp.Net 4.0尚未在Web服务器上注册的问题,需要手动注册下.Net Framework 4.0. 注册.net Framwork4.0 步骤,以w ...
- 《Advanced Bash-scripting Guide》学习(十八):[[ ]]与[ ]的一些特殊情况
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 例1: [ -eq ] && [ -n "`echo ...
- 去除编译警告@SuppressWarnings注解用法详解(转)
使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={}) 编码时我们总会发现如下变量未被使用的警告提示: 上述代 ...
- Redis中redis.conf配置总结
redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. 当Redis以守护进程方式运行时,Re ...
- Intellij IDEA导入Github中的MAVEN多模块项目【保持项目样式】
刚上手用IntelliJ IDEA导入github项目,我尝试了多种导入方式.因为我的有父子模块,导入后整个项目的格式就变了. 然后我多次尝试,找到了一个更好的导入方式,可以保持MAVEN项目的格式. ...
- 【C#】62. 异步读写文件的几种方法: Task.Factory.FromAsync,WriteAsync
一.这里主要说明2种异步写入文件的方法: 1)异步编程模型API转为Task——使用Task.Factory.FromAsync方法 2)对于StreamWriter使用WriteAsync方法 请记 ...
- hdoj-1031-Design T-Shirt
题目链接 /* 两次排序,搞定 */ #include <cstring> #include <iostream> #include <algorithm> usi ...