近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或不带百分号)。
如果是小数转百分比那就简单了,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 ;
}
}
功能倒是实现了,但是感觉有点旁门左道。
各位高人们,指点一二吧~~