从控制面板自定义设置的小数分隔符

时间:2014-11-21 13:47:21

标签: .net vb.net

我用VB.NET创建一个应用程序

根据MSDN的指示,我已将Culture更改为en-US。如果用户使用逗号分隔符将区域格式设置为任何语言,可以将小数点分隔符覆盖为 dot

Public Sub New()

    Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
    Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-US")

    InitializeComponent()

End Sub

现在问题是,如果用户从控制面板>中更改了系统的小数点分隔符,如何覆盖小数点分隔符?地区和语言>其他设置(在“格式”选项卡中)?

CultureInfo无法覆盖这些自定义设置。我需要覆盖所有逗号小数点分隔符,而不使用替换字符串函数。

1 个答案:

答案 0 :(得分:2)

设置CultureInfo的{​​{3}}属性:

Dim myCI As New CultureInfo("en-US", False)
myCI.NumberFormat.CurrencyDecimalSeparator = "."

Thread.CurrentThread.CurrentCulture
   = Thread.CurrentThread.CurrentUICulture
   = myCI