详解C#如何判断输入的数字是否符合货币格式

 更新时间:2024年01月18日 16:56:42   作者:wenchm  
这篇文章主要为大家详细介绍了C#判断输入的数字是否符合货币格式的两种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一、用正则表达式判断输入是否符合货币格式

// 判断输入是否货币合格
using System.Text.RegularExpressions;
namespace IsCurrency_Format
{
    partial class Program
    {
        static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);
 
            Console.WriteLine("请输入要判断的字符串(货币格式)");
            string input = Console.ReadLine()!.ToString();
 
            bool isValidFormat = IsCurrencyFormat(input);
 
            if (isValidFormat)
            {
                Console.WriteLine("该字符串是有效的货币格式!");
            }
            else
            {
                Console.WriteLine("该字符串不是有效的货币格式!");
            }    
            Console.ReadKey();// 等待按任意键结束程序
        }
 
        static bool IsCurrencyFormat(string input)
        {
            Regex regex = MyRegex();
            return regex.IsMatch(input);
        }
 
        [GeneratedRegex(@"^[+-]?\d+(,\d{3})*(\.\d{1,2})?$")]
        private static partial Regex MyRegex();
    }
}
//运行结果:
/*
请输入要判断的字符串(货币格式)
88888.88
该字符串是有效的货币格式!
 */

二、用double.TryParse()判断输入是否符合货币格式

//判断输入是否符合货币格式
using System.Globalization;
namespace _051
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private Button? button1;
        private TextBox? textBox2;
        private TextBox? textBox1;
        private Label? label2;
        private Label? label1;
 
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(209, 65),
                Name = "button1",
                Size = new Size(75, 23),
                TabIndex = 4,
                Text = "判断",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // textBox2
            // 
            textBox2 = new TextBox
            {
                Location = new Point(77, 65),
                Name = "textBox2",
                Size = new Size(126, 23),
                TabIndex = 3
            };
            // 
            // textBox1
            //      
            textBox1 = new TextBox
            {
                Location = new Point(77, 27),
                Name = "textBox1",
                Size = new Size(126, 23),
                TabIndex = 2
            };
            // 
            // label2
            //          
            label2 = new Label
            {
                AutoSize = true,
                Location = new Point(6, 71),
                Name = "label2",
                Size = new Size(68, 17),
                TabIndex = 1,
                Text = "转换结果:"
            };
            // 
            // label1
            //            
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(6, 30),
                Name = "label1",
                Size = new Size(68, 17),
                TabIndex = 0,
                Text = "输入金额:"
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(290, 117),
                TabIndex = 0,
                TabStop = false,
                Text = "是否符合货币格式"
            };
            groupBox1.Controls.Add(button1);
            groupBox1.Controls.Add(textBox2);
            groupBox1.Controls.Add(textBox1);
            groupBox1.Controls.Add(label2);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();
            
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(314, 141);
            Controls.Add(groupBox1);
            Name = "Form1";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "判断是否符合货币格式";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();
        }
 
        private void Button1_Click(object? sender, EventArgs e)
        {
            if (double.TryParse(textBox1!.Text, out double temp))   //验证输入是否正确并赋值
            {
                NumberFormatInfo GN =new CultureInfo("zh-CN", false).NumberFormat;//实例化NumberFormatInfo对象
                GN.CurrencyGroupSeparator = ",";        //设置货币值中用来分组的字符串
                textBox2!.Text = temp.ToString("C", GN);//格式化为货币格式并显示
            }
            else
            {
                MessageBox.Show("请输入正确的货币值!", "提示!");
            }
        }
    }
}

到此这篇关于详解C#如何判断输入的数字是否符合货币格式的文章就介绍到这了,更多相关C#判断格式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 京东联盟C#接口测试示例分享

    京东联盟C#接口测试示例分享

    这篇文章主要介绍了京东联盟C#接口测试示例分享的相关资料,需要的朋友可以参考下
    2017-12-12
  • C#简单了解接口(Interface)使用方法

    C#简单了解接口(Interface)使用方法

    这篇文章主要介绍了C#简单了解接口(Interface)使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 浅谈C#索引器

    浅谈C#索引器

    这篇文章主要简单介绍C#索引器,索引器使你可从语法上方便地创建类、结构或接口,以便客户端应用程序可以像访问数组一样访问它们。编译器将生成一个 Item 属性和适当的访问器方法,在主要目标是封装内部集合或数组的类型中,常常要实现索引器,下面我们一起来看看具体内容吧
    2021-11-11
  • 基于WPF实现面包屑效果的示例代码

    基于WPF实现面包屑效果的示例代码

    这篇文章主要为大家详细介绍了如何基于WPF实现面包屑效果,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-04-04
  • C#词法分析器之构造NFA详解

    C#词法分析器之构造NFA详解

    本篇文章介绍了,C#词法分析器之构造NFA详解。需要的朋友参考下
    2013-05-05
  • C#获得程序的根目录以及判断文件是否存在的实例讲解

    C#获得程序的根目录以及判断文件是否存在的实例讲解

    今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • C#抓取网页数据 解析标题描述图片等信息 去除HTML标签

    C#抓取网页数据 解析标题描述图片等信息 去除HTML标签

    本文主要一步一步介绍利用C#抓取页面数据的过程,抓取HTML,获取标题、描述、图片等信息,并去除HTML,希望对大家有所帮助。
    2016-04-04
  • C#实现自定义打印文字和图片的示例代码

    C#实现自定义打印文字和图片的示例代码

    本文主要介绍了C#实现自定义打印文字和图片的示例代码,C#中打印其实就是自己绘图+调用系统打印函数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • c#批量整理xml格式示例

    c#批量整理xml格式示例

    这篇文章主要介绍了c#批量整理xml格式示例,win7的x64和x86系统下已验证通过,需要的朋友可以参考下
    2014-03-03
  • C#装箱和拆箱操作实例分析

    C#装箱和拆箱操作实例分析

    这篇文章主要介绍了C#装箱和拆箱操作,结合实例形式分析了C#中装箱与拆箱的概念、用法及相关注意事项,需要的朋友可以参考下
    2016-08-08

最新评论