2014-11-21 88 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