我正在学习f#并做一个要求用户输入数字的功能。然后,该功能将显示用户输入,如果是正数或负数。但是,当我尝试运行程序时,它会出错,并声明输入是字符串而不是int。我不知道将函数输出转换为字符串的方法。
open System
let sign num =
if num > 0 then "positive"
elif num < 0 then "negative"
else "zero"
let main() =
Console.Write("please enter a number:")
let input = Console.ReadLine()
Console.Write("The number {0}", sign 1)
System.Console.ReadKey() |> ignore
main()
答案 0 :(得分:6)
使用 (int)input
int input
。在封面下,它解析输入并返回一个int或抛出一个System.FormatException。
另一种选择是使用Int32的TryParse方法,并将结果和成功指标都作为元组返回。您也可以在同一行中解构元组:
let (ok,number)= System.Int32.TryParse input
let message=if ok then
sprintf "The number %i" i
else
sprintf "%s is not a number" input
Console.WriteLine message