近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或不带百分号)。
如果是小数转百分比那就简单了,C#里数字格式字符串有个 p 。
但是百分比转小数还真不知道有没有?简单看了一下MSDN,没有发现(眼花?)。
因此,直接搞了一个方法来实现:
/// <summary>
/// 将百分比转换成小数
/// </summary>
/// <param name="perc">百分比值,可纯为数值,或都加上%号的表示,如:65|65%</param>
/// <returns></returns>
public static decimal PerctangleToDecimal(string perc)
{
try
{
string patt = @"/^(?<num>[\d]{1,})(%?)$/";
decimal percNum = Decimal.Parse(System.Text.RegularExpressions.Regex.Match(perc, patt).Groups["num"].Value);
return percNum / (decimal)100;
}
catch
{
return 1;
}
}
/// 将百分比转换成小数
/// </summary>
/// <param name="perc">百分比值,可纯为数值,或都加上%号的表示,如:65|65%</param>
/// <returns></returns>
public static decimal PerctangleToDecimal(string perc)
{
try
{
string patt = @"/^(?<num>[\d]{1,})(%?)$/";
decimal percNum = Decimal.Parse(System.Text.RegularExpressions.Regex.Match(perc, patt).Groups["num"].Value);
return percNum / (decimal)100;
}
catch
{
return 1;
}
}
功能倒是实现了,但是感觉有点旁门左道。
各位高人们,指点一二吧~~