我有一個應用程序,允許用戶輸入十進制值,如00.000,00.00,0.0.0等。DataGridView列中的可配置十進制輸入格式
問題是,不同的用戶需要不同的格式,我想提供一個功能來爲最終用戶配置輸入格式(如輸入模板或掩碼)。
您認爲最好的方法來完成這個目標?
我有一個應用程序,允許用戶輸入十進制值,如00.000,00.00,0.0.0等。DataGridView列中的可配置十進制輸入格式
問題是,不同的用戶需要不同的格式,我想提供一個功能來爲最終用戶配置輸入格式(如輸入模板或掩碼)。
您認爲最好的方法來完成這個目標?
您可以實現自定義IFormatProvider
並使用the Parse(string, IFormatProvider)
方法來定義小數將如何分析。
見http://msdn.microsoft.com/de-de/library/t7xswkc6.aspx FPR方法說明
/* 爲什麼不把自己的方法檢查格式長度和做這樣的事情作爲一個起點。
可以讓用戶輸入以下內容//將以下內容替換爲對文本框輸入進行檢查的內容。 //這是我很快寫下來測試我傳遞的文本的東西。 */
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;
}
你的意思是不同的格式,如十進制字符(0123或0.123)或分隔符(1000或1000)等?您是否檢查了可以傳遞給[String.Format]的參數(http://msdn.microsoft.com/zh-cn/library/system.string.format.aspx)? – Default