1+ module tryparse21
2+
3+ // <Snippet2>
4+ open System
5+ open System.Globalization
6+
7+ let callTryParse ( stringToConvert : string ) ( styles : NumberStyles ) =
8+ match UInt32.TryParse( stringToConvert, styles, CultureInfo.InvariantCulture) with
9+ | true , number ->
10+ printfn $" Converted '{stringToConvert}' to {number}."
11+ printfn $" Attempted conversion of '{stringToConvert}' failed."
12+ | _ -> ()
13+
14+ do
15+ let numericString = " 2106034"
16+ let styles = NumberStyles.Integer
17+ callTryParse numericString styles
18+
19+ let numericString = " -10603"
20+ let styles = NumberStyles.None
21+ callTryParse numericString styles
22+
23+ let numericString = " 29103674.00"
24+ let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
25+ callTryParse numericString styles
26+
27+ let numericString = " 10345.72"
28+ let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
29+ callTryParse numericString styles
30+
31+ let numericString = " 41792210E-01"
32+ let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
33+ callTryParse numericString styles
34+
35+ let numericString = " 9112E-01"
36+ callTryParse numericString styles
37+
38+ let numericString = " 312E01"
39+ callTryParse numericString styles
40+
41+ let numericString = " FFC86DA1"
42+ callTryParse numericString NumberStyles.HexNumber
43+
44+ let numericString = " 0x8F8C"
45+ callTryParse numericString NumberStyles.HexNumber
46+
47+ // The example displays the following output:
48+ // Converted '2106034' to 2106034.
49+ // Attempted conversion of '-10603' failed.
50+ // Converted '29103674.00' to 29103674.
51+ // Attempted conversion of '10345.72' failed.
52+ // Converted '41792210E-01' to 4179221.
53+ // Attempted conversion of '9112E-01' failed.
54+ // Converted '312E01' to 3120.
55+ // Converted 'FFC86DA1' to 4291325345.
56+ // Attempted conversion of '0x8F8C' failed.
57+ // </Snippet2>
0 commit comments