试图创建一个从字符串转换为十进制的扩展方法
本文关键字:转换 字符串 十进制 方法 扩展 一个 创建 | 更新日期: 2023-09-27 18:00:06
我正试图想出一种将字符串转换为X个小数位数的全局方法,但我运气不佳。我需要这个来返回一个包含X个小数的小数。
以下是我到目前为止所拥有的,但我不知道如何让它知道可以轻易地除以什么:
public static decimal ToXDecimalPlaces(this object value, int numberofdecimalplaces, decimal defaultValue = 0)
{
double retval;
if (double.TryParse(value.ToString(), out retval))
{
return (decimal)(retval / 10);
}
return defaultValue;
}
所以如果我发送:
value = "12345"
value.ToXDecimalPlaces(2)
我想回去:
123.45
等等。
retval的划分需要根据小数位数而有所不同。
有什么建议吗?我宁愿不必创建一些扩展方法,或者这就是我应该做的吗?
我应该创建吗:
To1DecimalPlaces
To2DecimalPlaces
To3DecimalPlaces
etc
对于我需要的每一个,继续前进?
使用Math.Pow怎么样?
类似的东西
return (decimal)(retval / Math.Pow(10, numberofdecimalplaces));