文化特定编码

时间:2014-04-28 06:18:45

标签: vb.net cultureinfo

我需要根据系统文化使应用程序工作。但我使用了许多硬编码值进行位和字节转换,如Dim maxlimit as double=4.999999

当我为应用程序更改cultureInfo时,位转换不正确。所以我正在寻找一个解决方案如何根据系统文化使用硬编码的double值并对其进行操作?(如乘法,除法,加法)。

我根据系统文化使用下面的代码片段将值转换为Double。我把文化设置为“de-DE”

代码:

 Dim l_sDoubleValue As Double
 If String.Equals(CultureInfo.CurrentUICulture.ToString(), "de-DE",StringComparison.OrdinalIgnoreCase) Then

    l_sDoubleValue = Convert.ToDouble(p_sValue.ToString(CultureInfo.CurrentUICulture), CultureInfo.CurrentUICulture.NumberFormat)

 ElseIf String.Equals(CultureInfo.CurrentUICulture.ToString(), "en-US", StringComparison.OrdinalIgnoreCase) Then
    l_sDoubleValue = Double.Parse(p_sValue)
 End If

 Return l_sDoubleValue

示例:

  Value = 4.999999

当我使用p_sValue.ToString(CultureInfo.CurrentUICulture)将值转换为字符串时 输出是4,999999但是当我将值转换为Double时,输出为4.999999

0 个答案:

没有答案