c#里的decimal.TryParse方法怎么用,我是新手,求大神用通俗易懂的话尽量详细一点说明白谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#里的decimal.TryParse方法怎么用,我是新手,求大神用通俗易懂的话尽量详细一点说明白谢谢相关的知识,希望对你有一定的参考价值。
TryParse的意思和他字面一样, 尝试转换。返回bool类型
比如你的程序需要用户输入2个数字, 程序计算2个数字之和,用户输入的类型是string类型
但是你必须要求用户输入的是数字,而不是文字(abc),所以,这里就需要用TryParse来进行判断用户输入的是否可以转换为decimal。
以一个简单的控制台为例
Sum() //求和Consolo.WriteLine("Enter First Number");
string str1= Consolo.ReadLine();//读取用户输入, 得到的是个string类型
Consolo.WriteLine("Enter SecondNumber");
string str2= Consolo.ReadLine();//读取用户输入, 得到的是个string类型
//开始判断是否可以转成数字类型
decimal num1 ; //定义两个数字类型
decimal num2;
if(decimal.TryParse(str1,out num1) && decimal.TryParse(str2,out num2))
Consolo.WriteLine("Sum ="+(num1+num2));
Consolo.Readkey;
else
Consolo.WriteLine("Entered invalid type,Try again!");
return;
这里面 decimal.TryParse(str1,out num1)就是用法,
尝试将str1 转换为decimal形式, 如果无法转换, 则返回false。
如果可以转换, out是关键字,表示将结果输出给哪个变量 ,上面代码是将转换的结果给num1, 同时返回true
其实很简单的,写一次就会了。
追问恩恩 你刚才说的我都懂了 这个decimal是什么意思啊?? 还有在什么情况下这个方法会返回false呢??
我刚才想了想是不是如果
int i;
if(int.TryParse("3.15",out i)).....
这样会转换失败啊???
decimal 是个类型啊 ,双精度浮点数, float是单精度浮点数, 就是有小数点!
int是整型,就是没有小数点。 string是字符串,
这些基础建议你仔细看MSDN的文档,这些基础非常重要, 初学的时候一定要学扎实。
上面我说了,如果无法转换,就返回false了。
比如string str = “123”,这个str是可以转成int类型或者decimal类型的,
但是string str2 = “abc ”,他就没办法转成任何数字类型。 这种情况下
decimal.TryParse(str2,out num) 就返回false 了。
if(decimal.TryParse("3.15",out value))
Console.Write(value*value);
解释:TryParse方法尝试将给定的文本转换成decimal型浮点数,如果转换成功,方法返回true,变量value里就是转换后的值;如果不能转换,方法返回false,变量value得到值0。
上面的示例是转换成功的,并输出value的平方。追问
decimal可以是任何类型么?? 还有求大神告诉我 这个是什么意思
以上是关于c#里的decimal.TryParse方法怎么用,我是新手,求大神用通俗易懂的话尽量详细一点说明白谢谢的主要内容,如果未能解决你的问题,请参考以下文章
decimal.TryParse和Convert.ToDecimal+try{} catch{}的性能比较
VS用C#写的程序,在引用里没有mscorlib,但是可以使用该程序集里的内容,怎么回事?