Formatting as currency works as expected for $, but not for any other currency symbol (e.g. £ and €)
See output from small test program below
I can’t see why - so assume it is a bug
Format using $
Format 45.678000 using ‘$#,###.##;($#,###.##);$\n\i\l’ gives result $45.68
Format -45.678000 using ‘$#,###.##;($#,###.##);$\n\i\l’ gives result ($45.68)
Format 0.000000 using ‘$#,###.##;($#,###.##);$\n\i\l’ gives result $nil
Format using £
Format 45.678000 using ‘\£#,###.##;(\£#,###.##);\£\n\i\l’ gives result £45.7
Format -45.678000 using ‘\£#,###.##;(\£#,###.##);\£\n\i\l’ gives result (£45.68
Format 0.000000 using ‘\£#,###.##;(\£#,###.##);\£\n\i\l’ gives result )£nil
Format using €
Format 45.678000 using ‘\€#,###.##;(\€#,###.##);\€\n\i\l’ gives result €46.
Format -45.678000 using ‘\€#,###.##;(\€#,###.##);\€\n\i\l’ gives result (€46.
Format 0.000000 using ‘\€#,###.##;(\€#,###.##);\€\n\i\l’ gives result 0)€nil
the program is
#Pragma Unused args
’ Say hello
Var num As Double
Var formatstring As String
Var resultstring As String
StdOut.WriteLine(“Format using $”)
num = 45.678
formatstring = “$#,###.##;($#,###.##);$\n\i\l”
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = -45.678
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = 0
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + “’ gives result " + resultstring)
StdOut.WriteLine(”")
StdOut.WriteLine(“Format using £”)
num = 45.678
formatstring = ReplaceAll(formatstring, “$”, “£”)
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = -45.678
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = 0
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + “’ gives result " + resultstring)
StdOut.WriteLine(”")
StdOut.WriteLine(“Format using €”)
num = 45.678
formatstring = ReplaceAll(formatstring, “£”, “€”)
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = -45.678
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + "’ gives result " + resultstring)
num = 0
resultstring = format(num, formatstring)
StdOut.WriteLine(“Format " + num.ToString + " using '” + formatstring + “’ gives result " + resultstring)
StdOut.WriteLine(”")
’ Quit
Return 0