我正在寻找一种相对简单的方法来将整数值(保证在0到100之间)转换为等效的十进制百分比。我的意思是如果我有一个像33这样的数字,我想在它前面添加一个零和一个小数位,所以它会变成0.33(33%)。
到目前为止,这是我的解决方案:
static void Main( string[] args )
{
int number = 33;
Console.WriteLine(ConvertToPercent(number));
Console.Read();
}
private static double ConvertToPercent(int value)
{
if (value >= 100)
{
return 1.0D;
}
if (value <= 0)
{
return 0.0D;
}
return Double.Parse("0." + value);
}
使用现有的.NET功能是否有更好,更高效的方法?
修改
我用一种方法解决这个问题的最终方法:
public static double ConvertToPercent( int value )
{
return ( double )( ( value < 0 ) ? 0 : ( value > 100 ) ? 100 : value ) / 100;
}
答案 0 :(得分:2)
试试这个:
decimal dec = (decimal)number / 100;
答案 1 :(得分:0)
而不是Double.Parse
,您可以尝试(decimal)value * 0.01m
。其余的都很好。