向int添加零和小数位

时间:2015-10-11 17:58:47

标签: c#

我正在寻找一种相对简单的方法来将整数值(保证在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;
}

2 个答案:

答案 0 :(得分:2)

试试这个:

decimal dec = (decimal)number / 100;

答案 1 :(得分:0)

而不是Double.Parse,您可以尝试(decimal)value * 0.01m。其余的都很好。