相同但采用不同变量的组合方法

问题描述 投票:0回答:1

我有一种方法可以使用数字并以符号格式返回数字。我在代码中使用了double,float和int,因此我编写了三种相同的方法,只是它们的摄入量变量不同。有一种方法可以仅用一种方法获得相同的效果吗?

public string NotationMethod(double x, string y)
{
    if (x > 1000)
    {
        var exponent = Math.Floor(Math.Log10(Math.Abs(x)));
        var mantissa = x / Math.Pow(10, exponent);
        return mantissa.ToString("F2") + "e" + exponent;
    }
    return x.ToString("F0");
}

public string NotationMethod(int x, string y)
{
    if (x > 1000)
    {
        var exponent = Math.Floor(Math.Log10(Math.Abs(x)));
        var mantissa = x / Math.Pow(10, exponent);
        return mantissa.ToString("F2") + "e" + exponent;
    }
    return x.ToString("F0");
}

public string NotationMethod(float x, string y)
{
    if (x > 1000)
    {
        var exponent = Math.Floor(Math.Log10(Math.Abs(x)));
        var mantissa = x / Math.Pow(10, exponent);
        return mantissa.ToString("F2") + "e" + exponent;
    }
    return x.ToString("F0");
}
c# variables methods constructor repeat
1个回答
0
投票

我注意到您在每种情况下都使用Math.Floor()。我认为您可以简单地将方法与第一个参数Double数据类型一起使用。您只需在调用方法时将输入转换为Double

© www.soinside.com 2019 - 2024. All rights reserved.