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

目录

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

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


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

// 判断输入是否货币合格
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("请输入正确的货币值!", "提示!");}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/409607.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python进程池multiprocessing.Pool

环境: 鲲鹏920:192核心 内存:756G python:3.9 python单进程的耗时 在做单纯的cpu计算的场景,使用单进程核多进程的耗时做如下测试: 单进程情况下cpu的占用了如下,占用一半的核心数: 每一步…

【数据结构】归并排序的两种实现方式与计数排序

前言:在前面我们讲了各种常见的排序,今天我们就来对排序部分收个尾,再来对归并排序通过递归和非递归的方法进行实现,与对计数排序进行简单的学习。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏…

c#异形窗体遮罩效果

c#异形窗体遮罩效果,移动,关闭,最大化,最小化,还原操作 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D…

在程序中链接静态库 和 动态库

9. 链接库 在编写程序的过程中,可能会用到一些系统提供的动态库或者自己制作出的动态库 或者静态库文件,cmake中也为我们提供了相关的加载动态库的命令hehedalinux:~/Linux/loveDBTeacher-v3$ tree . ├── CMakeLists.txt ├── include │ └── …

如何从 Keras 中的深度学习目录加载大型数据集

一、说明 数据集读取,使用、在磁盘上存储和构建图像数据集有一些约定,以便在训练和评估深度学习模型时能够快速高效地加载。本文介绍Keras 深度学习库中的ImageDataGenerator类等工具自动加载训练、测试和验证数据集。 二、ImageDataGenerator加载数据集…

中科院自动化所:基于关系图深度强化学习的机器人多目标包围问题新算法

摘要:中科院自动化所蒲志强教授团队,提出一种基于关系图的深度强化学习方法,应用于多目标避碰包围(MECA)问题,使用NOKOV度量动作捕捉系统获取多机器人位置信息,验证了方法的有效性和适应性。研究成果在2022年ICRA大会发…

【征服redis5】redis的Redisson客户端

目录 1 Redisson介绍 2. 与其他Java Redis客户端的比较 3.基本的配置与连接池 3.1 依赖和SDK 3.2 配置内容解析 4 实战案例:优雅的让Hash的某个Field过期 5 Redisson的强大功能 1 Redisson介绍 Redisson 最初由 GitHub 用户 “mrniko” 创建,并在…

RPA与通知机器人的完美结合

写在前面 在现代快节奏的工作环境中,我们经常会面临多个任务同时进行的情况,你还在为时间不够用、忙碌而惆怅吗?你还在为时刻盯着电脑流程而烦恼吗?你还在为及时收不到自己的自动化任务进度而焦躁吗?别担心&#xff0…

matlab快速入门(读取数据并绘制散点图和拉格朗日插值

目录 1.读取excel:2.注释快捷键:3.数组/矩阵索引:4.绘制散点图:5.拉格朗日插值:5.1分割出非空和空的x和y两组数据:5.2插值:5.3画图: 小结: 1.读取excel: [nu…

AI对决:ChatGPT与文心一言的比较

文章目录 引言ChatGPT与文心一言的比较Chatgpt的看法文心一言的看法Copilot的观点chatgpt4.0的回答 模型的自我评价自我评价 ChatGPT的优势在这里插入图片描述 文心一言的优势AI技术发展趋势总结 引言 在过去的几年里,人工智能(AI)技术取得了…

十、Qt 操作PDF文件

《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》 《七、Qt 信号和槽》 《八、Qt C 毕业设计》 《九、Qt …

Jenkins集成Sonar Qube

下载插件 重启Jenkins 容器 sonarqube 使用令牌 Jenkins 配置 重新构建