检查用户输入是否在范围内,并将值附加到结果

时间:2018-03-02 07:33:26

标签: c# typescript

所以我想对用户输入做一些验证。如果用户输入1-10中的数字,我想在它前面添加0。例如,如果用户输入4我想在变量中存储值04。我知道如何在C#中做到这一点,但努力在TypeScript中实现它。我附上了C#代码来完成这个问题。我希望能够在我的Angular 5应用程序的组件类中完成它。

public static void Main(string[] args)
{
    List<int> collection = new List<int>();
    for (int i = 1; i <= 10; i++)
    {
        collection.Add(i);
    }

    Console.WriteLine("Please enter your input below: " + "\n");
    string input = Console.ReadLine();
    Console.WriteLine();
    if (collection.Contains(Convert.ToInt32(input)))
    {
        Console.WriteLine("True" + "\n");
        var result = "0" + input;
        Console.WriteLine("Appended Result: " + result);
    }
    else 
    {
        Console.WriteLine("False");
    }
    Console.WriteLine();
}

我正在使用Typescript version 2.3.3.0

2 个答案:

答案 0 :(得分:1)

  

C#的直接端口产生以下代码:

&#13;
&#13;
var collection = [...Array(10).keys()];

var num = parseInt(prompt("Enter a number"));

if(collection.indexOf(num) !== -1) {
  console.log("0" + num);
} else {
  console.log(num);
}
&#13;
&#13;
&#13;

  

TypeScript Rocks!所以即使是更短的代码也是:

&#13;
&#13;
num = parseInt(prompt("Enter a number"));

num = num < 10 ? "0" + num : num;

console.log(num);
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

您可以使用以下内容实现此目的

paddedNumber(num:number, size:number): string {
    let s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
}