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

目录

一、定义      

二、实例


        命名空间:
        System
        程序集:
        System.Runtime.dll

一、定义      

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

public static bool TryParse (string? s, out double result);

参数

描述

double

双精度数值

s

用于转换为数值的字符串

out

使用out关键字,会将参数通过引用来传递。要注意,如果使用out关键字传递参数,那么此参数在传递前不可以被初始化

result

如果转换成功,result将得到转换后的数值

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

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

二、实例

//判断输入的字符串类型的数字是否数字
//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("输入正确的数值!");//提示正确信息
        }
    }
}

最近更新

  1. TCP协议是安全的吗?

    2024-01-16 11:10:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-16 11:10:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-16 11:10:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-16 11:10:02       20 阅读

热门阅读

  1. Wargames与bash知识18

    2024-01-16 11:10:02       28 阅读
  2. 数据服务:解锁数据价值的关键

    2024-01-16 11:10:02       35 阅读
  3. P3741 honoka的键盘题解

    2024-01-16 11:10:02       34 阅读
  4. Oracle修改字段类型varchar2(2000)转为clob

    2024-01-16 11:10:02       40 阅读
  5. 在SpringBoot-WebFlux中整合log4j2

    2024-01-16 11:10:02       45 阅读