How do i convert the result of the input into an int in F#?

f#

Solution

Use `(int)input` `int input`. Under the covers this parses the input and returns an int or throws a System.FormatException.

Another option is to use Int32's TryParse method and return the both the result and success indicator as a tuple. You can also deconstruct the tuple in the same line :

let (ok,number)= System.Int32.TryParse input
let message=if ok then 
                sprintf "The number %i" number 
            else
                sprintf "%s is not a number" input
Console.WriteLine message

Problem

I'm learning f# and doing a function which asks for the user to input a number. The function will then display the users input and if it's a positive or negative number. However, when I try running the program it errors and states that the input is a string instead of an int. I don't know a way to convert the function output into a string. ``` 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() ```

Original source

Related problems