using System.Globalization;
public static void Main()
string dateTimeInputParameter = "2022-01-18T00:00:00.000";
string dateFormatOptionParameter = "M";
string cultureParameter = "fr-fr";
string numericalValue = "2345.67";
string numericalFormatOptionParameter = "F";
GlobalizeDateString(dateTimeInputParameter, dateFormatOptionParameter, cultureParameter)
GlobalizeNumericalString(numericalValue, numericalFormatOptionParameter, cultureParameter)
public static string GlobalizeNumericalString(string input, string formatOption, string cultureName){
CultureInfo culture = CultureInfo.GetCultureInfo(cultureName);
if(culture == null) return "error";
if(!decimal.TryParse(input, out d)) return "error";
return d.ToString(formatOption, culture);
public static string GlobalizeDateString(string input, string formatOption, string cultureName){
CultureInfo culture = CultureInfo.GetCultureInfo(cultureName);
if(culture == null) return "error";
if(!DateTime.TryParse(input, out date)) return "error";
return date.ToString(formatOption, culture);