Jim*_*mbo 2 c# string extension-methods numbers
我的Web应用程序处理需要很多转换为数字的字符串 - 用户经常在这些字段中放入逗号,单位(如cm,m,g,kg)和货币符号,所以我想要做的是创建一个字符串扩展方法清除字段并将其转换为小数.
例如:
decimal myNumber = "15 cm".ToDecimal();
Run Code Online (Sandbox Code Playgroud)
您是否期望不同"文化"的用户使用您的应用程序?如果是这样,最好考虑用户的区域设置:
static decimal ToDecimal(this string str)
{
return Decimal.Parse(str, CultureInfo.CurrentCulture);
}
Run Code Online (Sandbox Code Playgroud)
或者你可以替换str中不是数字或CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator
值的每个字符,然后将其解析为小数.
编辑:
通常认为扩展方法应该有自己的命名空间.这将避免命名冲突并迫使最终用户有选择地导入他们需要的扩展.
扩展方法具有以下形式:
public static class StringExtensions
{
public static decimal ToDecimal(this string input)
{
//your conversion code here
}
}
Run Code Online (Sandbox Code Playgroud)
这是编写扩展方法的指南.
归档时间: |
|
查看次数: |
9446 次 |
最近记录: |