将数字返回到其double值

时间:2017-03-09 02:20:25

标签: c# numbers

我正在创建一个程序来评估输入的数字,例如我输入的5该函数应该能够返回数字,这意味着:

5  => 500   
4  => 400  
6  => 600 
10 => 1000 and so on.

这是我迄今为止所做的。

public int NumberEval(int theNumber)
{
    int theResult = 0;
    switch (theNumber)
    {
        case 0:
            theResult = 1;
            break;
        case 1:
            theResult = 1;
            break;
        case 2:
            theResult = 200;
            break;
        case 3:
            theResult = 300;
            break;
        case 4:
            theResult = 400;
            break;
        case 5:
            theResult = 500;
            break;
        case 6:
            theResult = 600;
            break;
        case 7:
            theResult = 700;
            break;
        case 8:
            theResult = 800;
            break;
        case 9:
            theResult = 900;
            break;
        case 10:
            theResult = 1000;
            break;
        case 11:
            theResult = 1100;
            break;
        case 12:
            theResult = 1200;
            break;
        case 13:
            theResult = 1300;
            break;
        case 14:
            theResult = 1400;
            break;
        case 15:
            theResult = 1500;
            break;
        case 16:
            theResult = 1600;
            break;
        case 17:
            theResult = 1700;
            break;
        case 18:
            theResult = 1800;
            break;
        case 19:
            theResult = 1900;
            break;
        case 20:
            theResult = 2000;
            break;
        default:
            break;
    }
    return theResult;
} 

我的问题是,如果我输入50然后它应该是5000.有没有办法快捷方法,因为我不想手动编码switch语句中的每个项目?或者甚至是这个数学方程?

2 个答案:

答案 0 :(得分:3)

这不是输入* 100的模式吗?我认为你可以编写一个接受输入的方法并将其乘以100.但是有一些需要注意的是精确截断,而输入足够大以溢出整数精度。

答案 1 :(得分:2)

为什么不与100进行简单的乘法运算,如下所示:

public int NumberEval(int theNumber)
{
    if(theNumber == 0 || theNumber == 1)
       return 1;
    else
       return theNumber * 100;
}

这是working example给你的。您可以简化这样的语句:

return theNumber == 0 || theNumber == 1 ? 1 : theNumber * 100;