Public oCultureInfoEnglish As CultureInfo = Nothing Public oCultureInfoFrench As CultureInfo = Nothing Public oCultureInfoSpanish As CultureInfo = Nothing Public oCultureInfoPortuguese As CultureInfo = NothingThe values are this:
oCultureInfoEnglish = New CultureInfo("en-US") oCultureInfoFrench = New CultureInfo("fr-CA") oCultureInfoSpanish = New CultureInfo("en-US") oCultureInfoPortuguese = New CultureInfo("en-US")I have a function to display a numeric value as follow:
' 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 = oApp.oCultureInfoEnglish ' French Case 2 loCultureInfo = oApp.oCultureInfoFrench ' Spanish Case 3 loCultureInfo = oApp.oCultureInfoSpanish ' Portuguese Case 4 loCultureInfo = oApp.oCultureInfoPortuguese End Select loCultureInfo.NumberFormat.NumberDecimalSeparator = "." loCultureInfo.NumberFormat.NumberGroupSeparator = tcSeparator loCultureInfo.NumberFormat.NumberDecimalDigits = tnDecimal lcValue = tnValue.ToString("N", loCultureInfo) Return lcValue End FunctionOn some very rare situations, I have found that my value is being shown such as 30.000 where it should be 30.