【问题标题】:configurable decimal input format in a DataGridView columnDataGridView 列中的可配置十进制输入格式
【发布时间】:2011-12-02 14:21:38
【问题描述】:

我有一个允许用户输入十进制值的应用程序,例如 00.000、00.00、0000.0 等。

问题是不同的用户需要不同的格式,我想提供一个功能来为最终用户配置这种输入格式(如输入模板或掩码)。

您认为实现这一目标的最佳方法是什么?

【问题讨论】:

  • 您是指十进制字符(0,123 或 0.123)或分隔符(1000 或 1 000)等不同的格式吗?您是否检查了可以传递给 String.Format 的参数?

标签: c# .net winforms input decimal


【解决方案1】:

您可以实现一个自定义的IFormatProvider 并使用the Parse(string, IFormatProvider) 方法来定义如何解析小数。

http://msdn.microsoft.com/de-de/library/t7xswkc6.aspxfpr方法说明

请参阅http://www.codeproject.com/KB/cs/custstrformat.aspx 获取教程

【讨论】:

    【解决方案2】:

    /* 为什么不创建自己的方法来检查格式长度并做这样的事情作为起点。

    假设用户输入了以下内容//将以下内容替换为您正在检查文本框输入的内容。 //这是我快速编写的内容,用于测试我传递的文本。 */

       tmpStringTest+= FormatNumberWithCommas(100.ToString()) + " ";
       tmpStringTest += FormatNumberWithCommas(1000.ToString());
       tmpStringTest += FormatNumberWithCommas(10000.ToString());
       tmpStringTest += FormatNumberWithCommas(100000.ToString());
       tmpStringTest += FormatNumberWithCommas(1000000.ToString());
    
       public static string FormatNumberWithCommas(string inputString)
       {
           string tempString;
           tempString = string.Format("{0:##,###,###}", Convert.ToInt32(inputString));
           return tempString;
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2016-01-24
      • 1970-01-01
      相关资源
      最近更新 更多