c#中的类型转换
Parse类型转换
Parse()函数
int、double都能调用Parse()函数,Parse(string str);如果转换成功就成功,失败就会抛出一个异常;
TryParse()函数
相应地有一个TryParse函数,bool TryParse(string str,out int a);这里的out参数相当于c++中的&,引用(区别是c#的这个方法里必须对a赋值,且所有分支都要赋值)。如果能够转,就返回True,并把值放在a里面,如果失败的话a赋值为0,double也是这样。
测试代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace parse类型转换
{
class Program
{
static void Main(string[] args)
{
//使用convert进行转换,过得去就成功了,过不去就抛异常;convert内部调用的是类型的.Parse();
double number = double.Parse("123.2");
Console.WriteLine(number);
Console.ReadKey();
//int.tryParse;尝试着讲一个字符串转换成int类型;使用tryParse进行类型转换,成功的时候返回true,并把值返回到第二个参数里面。失败时,返回false,将第二个参数赋值为0
double num = 10;
bool result = double.TryParse("ab123abc",out num);
Console.WriteLine(num);
Console.ReadKey();
}
}
}
Convert类型转换
应用场景
如果两个类型变量不兼容,比如string与int或stirng与double。这个时候可以使用一个叫做Convert的转换工厂进行转换。使用Convert进行类型转换的时候要注意面儿上必须过得去。使用convert进行转换,过得去就成功了,过不去就抛异常;convert内部调用的是类型的.Parse();
测试代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace convert类型转换
{
class Program
{
static void Main(string[] args)
{
//如果两个类型变量不兼容,比如string与int或stirng与double。这个时候可以使用一个叫做Convert的转换工厂进行转换。
//使用Convert进行类型转换的时候要注意面儿上必须过得去。
string s = "123";
double d = Convert.ToDouble(s);
int n = Convert.ToInt32(s);
Console.WriteLine(d);
Console.WriteLine(n);
Console.ReadKey();
}
}
}
应用
让用户输入姓名 语文 数学 英语 三门课的成绩,然后给用户显示 xx 你的总成绩是xx分,平均成绩是xx分;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Convert应用
{
class Program
{
static void Main(string[] args)
{
//让用户输入姓名 语文 数学 英语 三门课的成绩
//然后给用户显示 xx 你的总成绩是xx分,平均成绩是xx分;
Console.WriteLine("请输入你的姓名");
string name = Console.ReadLine();
Console.WriteLine("请输入你的语文成绩");
double chineseScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入你的数学成绩");
double mathScore = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入你的英语成绩");
double EnglishScore = Convert.ToDouble(Console.ReadLine());
double sum = chineseScore+mathScore+EnglishScore;
double average =sum/3;
Console.WriteLine("{0},你的总成绩为{1},平均成绩为{2:0.00}", name, sum, average);//这里使用了一个小技巧,通过:0.00限制了输出精度;
Console.ReadKey();
}
}
}
c#中的类型转换的更多相关文章
- JavaScript中数据类型转换总结
JavaScript中数据类型转换总结 在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = " ...
- java中强制类型转换
在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...
- JS中String类型转换Date类型 并 计算时间差
JS中String类型转换Date类型 1.比较常用的方法,但繁琐,参考如下:主要使用Date的构造方法:Date(int year , int month , int day)<script& ...
- SQL中的类型转换
SQL中的类型转换一直是以块心病,因为用得比较少,所以每次想用的时候都要想半天,恰好这段时间比较空,整理整理.今天写个标题先.
- Struts2中的类型转换
1. Struts2中的类型转换 我们知道通过HTTP提交到后台的数据,都是字符串的形式,而我们需要的数据类型当然不只字符串类型一种.所以,我们需要类型转换! 在Struts2中,类型转换的概 ...
- java中的类型转换
java中的类型转换分为两种 自动类型转换 要实现数据的自动类型转换必须同时满足下面两个条件 两种数据类型彼此兼容 目标类型的取值范围大于原类型范围 强制类型转换 当两种数据类型彼此不兼容,或者说目标 ...
- HQL语句中数据类型转换,及hibernate中createQuery执行hql报错
一.HQL语句中数据类型转换: 我们需要从数据库中取出序号最大的记录,想到的方法就是使用order by子句进行排序(desc倒序),然后取出第一个对象,可是当初设计数据库时(我们是在原来的数据库的基 ...
- Java中数据类型转换&基本类型变量和对象型变量
1.Java的数据类型分为三大类 布尔型,字符型和数值型 其中数值型又分为整型和浮点型 2.Java的变量类型 布尔型 boolean 字符型 char 整型 byte,short,int,lo ...
- C语言中强制类型转换总结
C语言中强制类型转换总结 ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围 ...
- c#中的里氏转换和Java中强制类型转换在多态中的应用
在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父 ...
随机推荐
- 【Mood 16 】史上最全github使用方法:github入门到精通
[初识Github] 首先让我们大家一起喊一句“Hello Github”.YEAH!就是这样. Git 是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管 ...
- IOS 中frame与bounds的区别
文章摘要:http://www.sendong.com/news1733.html bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系 ...
- BZOJ 1146: [CTSC2008]网络管理Network 树链剖分+线段树+平衡树
1146: [CTSC2008]网络管理Network Time Limit: 50 Sec Memory Limit: 162 MBSubmit: 870 Solved: 299[Submit] ...
- 1172 Hankson 的趣味题[数论]
1172 Hankson 的趣味题 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Descrip ...
- [转载]mysql插入大量数据
mysql的批量数据格式, 比如 INSERT INTO TABLES (LABLE1,LABLE2,LABLE3,...) VALUES(NUM11,NUM12,NUM13,...), (NUM ...
- CentOS系统下安装以及卸载mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 [root@localhost `]$ wget htt ...
- windows下部署 ISCSI存储
Write bt xiaoyang 配置篇 这里使用的软件为iscsiTargetqfe 1. 首先安装软件,可在微软官网下载 2. 然后找到安装程序 3. 完成安装后打 ...
- python常错: join() 方法
描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence) 参数 sequence -- 要连接的 ...
- javascript构造函数小记
function outer(){ function inner(){} return inner; } var a=outer(); var b=outer(); var c=new outer() ...
- css z-index属性
原文地址:http://www.neoease.com/css-z-index-property-and-layering-tree/ CSS 中的 z-index 属性用于设置节点的堆叠顺序, 拥有 ...