我想将字符串转换为小数?引用之前的一个问题here
其中一个答案给出了一个对象扩展来像这样转换对象
public static class ObjectExtensions
{
public static Nullable<T> ToNullable<T>(this object input)
where T : struct
{
if (input == null)
return null;
if (input is Nullable<T> || input is T)
return (Nullable<T>)input;
throw new InvalidCastException();
}
}
用法:
object value = 123.45m;
decimal? dec = value.ToNullable<decimal>();
但是,上面的方法不适用于字符串,是否可以定义上述方法的配套方法来专门处理字符串?
特别喜欢我希望能够做的是:-
object v1 = 123.45m;
decimal? d1 = v1.ToNullable<decimal>();
object v2 = "123.45";
decimal? d2 = v2.ToNullable<decimal>();
最佳答案
一个简单的扩展方法将字符串转换为十进制。当然对于非空字符串
public static class StringExtensions
{
public static decimal? ToNullableDecimal(this string s)
{
decimal value;
if (!Decimal.TryParse(s, out value)
return null;
return value;
}
}
关于c# - 将字符串转换为十进制? (可为空的十进制)通过扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26179989/