' Format a value ' expN1 Value ' expC1 Separator ' expN2 Number of decimals Public Function GetFormatValue(ByVal tnValue As Double, ByVal tcSeparator As String, _ ByVal tnDecimal As Integer) As String Dim lcValue As String = "" Dim loCultureInfo As CultureInfo = Nothing ' Based on the language Select Case nLanguage ' English Case 1 loCultureInfo = New CultureInfo("en-US") ' French Case 2 loCultureInfo = New CultureInfo("fr-CA") ' Spanish Case 3 loCultureInfo = New CultureInfo("en-US") ' Portuguese Case 4 loCultureInfo = New CultureInfo("en-US") End Select loCultureInfo.NumberFormat.NumberDecimalSeparator = "." loCultureInfo.NumberFormat.NumberGroupSeparator = tcSeparator loCultureInfo.NumberFormat.NumberDecimalDigits = tnDecimal lcValue = tnValue.ToString("N", loCultureInfo) Return lcValue End Function ' Format a value for a dollar ' expN1 Value ' expC1 Separator Public Function GetFormatValueDollar(ByVal tnValue As Double, ByVal tcSeparator As String) As String Dim loCultureInfo As CultureInfo = Nothing Dim lcValue As String = "" ' Based on the language Select Case nLanguage ' English Case 1 loCultureInfo = New CultureInfo("en-US") ' French Case 2 loCultureInfo = New CultureInfo("fr-CA") ' Spanish Case 3 loCultureInfo = New CultureInfo("en-US") ' Portuguese Case 4 loCultureInfo = New CultureInfo("en-US") End Select loCultureInfo.NumberFormat.CurrencyDecimalSeparator = "." loCultureInfo.NumberFormat.CurrencyGroupSeparator = tcSeparator ' If we format the dollar sign as per the language If oApp.lFormatDollarAsPerTheLanguage Then ' Based on the language Select Case nLanguage ' English Case 1 ' French Case 2 loCultureInfo.NumberFormat.CurrencyPositivePattern = 1 ' Spanish Case 3 ' Portuguese Case 4 End Select End If lcValue = tnValue.ToString("C", loCultureInfo) Return lcValue End Function