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("输入正确的数值!");//提示正确信息
        }
    }
}
相关推荐
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3051 小时前
11.vector的介绍及模拟实现
开发语言·c++
计算机学长大白2 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
PieroPc3 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439695 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna6 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
xlsw_6 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
Dream_Snowar7 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖8 小时前
[react]searchParams转普通对象
开发语言·前端·javascript