c# - 从蒙版文本框中解析文本

标签 c# winforms maskedtextbox

我有一个用 C# 编写的 WinForms 应用程序

直到最近,我的表单上还有许多文本框供用户输入财务金额。我最初没有合并任何形式的掩码,每当我需要处理用户输入的值时,我都会使用 Decimal.Parse 将每个框中的文本解析为 Decimal 值;

但是我被要求让文本框看起来像财务金额 即 £1,050.75 而不是 1050.75 因此,我开始将文本框更改为 MaskedTextBox 并给它们一个 £#,##0.00 的掩码 但是,现在每次尝试解析 MaskedTextBoxes 中的文本时都会出现错误“输入字符串格式不正确”。

如何从 MaskedTextBox 获取用户输入并将其解析为十进制格式以供使用?

我应该完全使用 MaskedTextBox,还是有另一种方法可以在不影响 Decimal.Parse 方法的情况下在表单上显示财务类型格式?

最佳答案

当您从 Maskedtextbox 获取值时,它会将值取为 £#,##0.00 。因此该符号不会转换为十进制。尝试删除符号并将值转换为十进制。喜欢

        string val= maskedTextBox1.Text.Replace("£","");
        Decimal.Parse(val);

关于c# - 从蒙版文本框中解析文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20564234/

相关文章:

c# - System.Security.Principal.WindowsIdentity 和 WinForms 身份验证

c# - 使用带有 bindinglist<business obj> 的绑定(bind)源作为数据源有什么好处?

vb.net - 排序列表(MaskedTextBox)

c# - 来自sql查询执行 Entity Framework 的匿名类型结果

c# - 检索当前的 Outlook 约会

c# - Web Api 2 与 postman 一起工作但与 Angular 2 一起失败

c# - Windows 资源管理器 Crumb-Bar 控件

c# - DataGridView 的列太多

c# - maskedtextbox 文本被拒绝