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 了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-30
decimal value;
if(decimal.TryParse("3.15",out value))
Console.Write(value*value);
解释:TryParse方法尝试将给定的文本转换成decimal型浮点数,如果转换成功,方法返回true,变量value里就是转换后的值;如果不能转换,方法返回false,变量value得到值0。

上面的示例是转换成功的,并输出value的平方。追问

decimal可以是任何类型么?? 还有求大神告诉我 这个是什么意思

c#里的decimal.TryParse方法怎么用,我是新手,求大神用通俗易懂的话尽 ...
"); return; }}这里面 decimal.TryParse(str1,out num1)就是用法,尝试将str1 转换为decimal形式, 如果无法转换, 则返回false。如果可以转换, out是关键字,表示将结果输出给哪个变量 ,上面代码是将转换的结果给num1, 同时返回true 其实很简单的,写一次就会了。

C#中decimal.TryParse(, out ) 是干什么用的?
1.首先这个函数返回类型为bool类型,用以判断作为参数的字符串是否可以转换为decimal类型。2.如果可以转换,那么则将转化结果以out类型参数的方式返回:decimal res=0m;string str="3.1415926";bool convertible= decimal.TryParse(str,out res);此时,变量convertible的值为true,res的值为3.1415926,如果...

c#里的decimal.TryParse方法的用法,
decimal result=0;bool bl=decimal.TryParse("11",out result);\/\/bl是否转换成功,result转换结果

C#使用TryParse避免转换出现异常
C#中,TryParse方法用于将不同类型的值转换为指定类型,并返回一个布尔值指示转换是否成功。与Parse方法相比,TryParse不会在转换失败时引发异常,而是返回false,有效避免了异常的产生。支持多种类型转换,如Enum,DateTime,Double,Decimal,Guid,TimeSpan和int。TryParse的语法格式为TryParse(string? s, out...

...C#里判断一个文本框,是否是钱型的值。就是说即是数字,也是浮点数...
decimal x;if (decimal.TryParse(textbox1.Text, out x)){ \/\/ 是decimal } else { \/\/ 不是decimal }

相似回答