2014-11-21 82 views
3

我创建VB.NET小数分隔符从控制面板自定义设置

应用如MSDN指示我改变文化为en-US。 它工作覆盖小数点分隔为如果用户设置区域格式为任何语言与逗号分隔符。

Public Sub New() 

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

    InitializeComponent() 

End Sub 

现在的问题是,我怎么可以覆盖小数点分隔符,如果用户从控制面板>区域和语言设置更改系统的小数点分隔符>(在格式选项卡)其他设置?

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

+1

我编辑了自己的冠军。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-11-21 13:49:11

回答

2

设置CultureInfoNumberFormat属性:

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

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