C#用double.TryParse(String, Double)方法将字符串类型数字转换为数值类型

目录

一、定义

二、实例


命名空间:

System

程序集:

System.Runtime.dll

一、定义

将数字的字符串表示形式转换为它的等效双精度浮点数。 一个指示转换是否成功的返回值。

cs 复制代码
public static bool TryParse (string? s, out double result);

|------------|----------------------------------------------------------|
| 参数 | 描述 |
| double | 双精度数值 |
| s | 用于转换为数值的字符串 |
| out | 使用out关键字,会将参数通过引用来传递。要注意,如果使用out关键字传递参数,那么此参数在传递前不可以被初始化 |
| result | 如果转换成功,result将得到转换后的数值 |

使用TryParse方法可以有效防止数值转换中的异常。

所有数值类型都有Parse方法,此方法可以方便地将字符串对象转换为数值,但是,如果字符串中的信息不是标准的数值信息,则在转换过程中将会出现异常。从出现异常到捕获异常最后处理异常,这些都是要耗费系统资源的。而TryParse方法的出现就是为了防止转换过程中出现的异常,该方法将会返回一个布尔值,如果转换成功返回true,如果转换不成功则返回false,并不会抛出异常。

二、实例

cs 复制代码
//判断输入的字符串类型的数字是否数字
//TryParse(string s,out double result)
namespace _047
{
    public partial class Form1 : Form
    {
        private Label? label1;
        private TextBox? textBox1;
        private Button? button1;

        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(12, 25),
                Name = "label1",
                Size = new Size(80, 17),
                TabIndex = 0,
                Text = "输入货币值:"
            };
            // 
            // textBox1
            // 
            textBox1 = new TextBox
            {
                Location = new Point(12, 45),
                Name = "textBox1",
                Size = new Size(100, 23),
                TabIndex = 1
            };
            // 
            // button1
            //            
            button1 = new Button
            {
                Location = new Point(118, 45),
                Name = "button1",
                Size = new Size(64, 23),
                TabIndex = 2,
                Text = "判断",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(194, 91);
            Controls.Add(button1);
            Controls.Add(textBox1);
            Controls.Add(label1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "IsDigit?";

        }

        private void Button1_Click(object? sender, EventArgs e)
        {
            if (textBox1!.Text != "")
            {
                if (double.TryParse(//判断输入信息是否正确
               textBox1!.Text, out double temp))
                {
                    label1!.Text = "输入的币值是:" + temp.ToString();
                    MessageBox.Show("输入的数值正确!");//提示正确信息
                    textBox1!.Clear();//清空TextBox
                    label1!.Text = "输入货币值:";
                }
                else
                {
                    MessageBox.Show(//提示错误信息
                        "输入的数值有误,请重新输入!", "提示!");
                }
            }
            else
                MessageBox.Show("输入正确的数值!");//提示正确信息
        }
    }
}
相关推荐
雾岛听蓝13 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt
zopple14 小时前
Laravel vs ThinkPHP:PHP框架终极对决
开发语言·php·laravel
松☆14 小时前
C++ 算法竞赛题解:P13569 [CCPC 2024 重庆站] osu!mania —— 浮点数精度陷阱与 `eps` 的深度解析
开发语言·c++·算法
耿雨飞14 小时前
Python 后端开发技术博客专栏 | 第 06 篇 描述符与属性管理 -- 理解 Python 属性访问的底层机制
开发语言·python
耿雨飞14 小时前
Python 后端开发技术博客专栏 | 第 08 篇 上下文管理器与类型系统 -- 资源管理与代码健壮性
开发语言·python
2601_9491942614 小时前
Python爬虫完整代码拿走不谢
开发语言·爬虫·python
c***892015 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
aq553560015 小时前
C语言、C++和C#:三大编程语言核心差异详解
java·开发语言·jvm
并不喜欢吃鱼15 小时前
从零开始C++----七.继承及相关模型和底层(上篇)
开发语言·c++
沐知全栈开发15 小时前
XML CDATA
开发语言