Pokud použijete NumericUpDown, tak to je specializovaný prvek na zadávání čísel (nic jiného do něho zadat nelze), u kterého lze nastavit počet desetinných míst a desetinný oddělovač si nastaví sám. Jeho vlastnost Value vrací hodnotu typu Double kterou není třeba validovat. Pokud byste chtěl provádět validaci desetinného čísla pro jazykovou kulturu např. USA (který používá jako oddělovač desetinnou čárku), můžete použít kód:
Dim n As Double
'Validace hodnoty 10,1 pro kulturu en-US projde
Dim isValidFormat As Boolean = Double.TryParse("10,1", Globalization.NumberStyles.AllowDecimalPoint, New System.Globalization.CultureInfo("en-US"), n)
'Validace hodnoty 10,1 pro kulturu cs-CZ neprojde
Dim isValidFormat As Boolean = Double.TryParse("10,1", Globalization.NumberStyles.AllowDecimalPoint, New System.Globalization.CultureInfo("cs-CZ"), n)
Smyslem je to, aby validace prošla pouze ve formátu specifickém pro danou jazykovou kulturu. Kolik čechů by asi zadávalo číslo v americkém formátu a kolik američanů v českém?
|