将十进制百分比转换为整数



我有一个方法,应该将十进制百分比转换为和 int例如,0,73 应返回 73。我做了你在下面看到的混乱,但想知道一个"更好"的解决方案。

 private static int ToPercentage(double d)
        {
            string temp = d.ToString("p");
            string temp2 = temp.Replace("%", "");
            double temp3 = Convert.ToDouble(temp2);
            int result = (int) temp3;
            return result;
        }

写这个答案我感觉很糟糕,但希望这会阻止所有其他答案并关闭票证。

private static int ToPercentage(double d)
{
    return (int)(d*100);
}

编辑:感谢Devid的建议:)TIL 如何让答案成为社区维基帖子!

试试这段代码。无需转换为字符串,然后执行替换。

private static int ToPercentage(double d)
    {
       int result = Convert.ToInt32(Math.Truncate(d * 100));
       return result;
    }

最新更新