using System.Globalization;
public static void Main()
string valueDev = "10.1";
bool valueParseable = float.TryParse(valueDev, NumberStyles.Float, CultureInfo.InvariantCulture, out receivedValue);
string driftValue = "0.1";
float drift = float.Parse(driftValue, CultureInfo.InvariantCulture);
float targetValueDriver = receivedValue + drift;
float targetValueDec = (float)((decimal)receivedValue + (decimal)drift);
Console.WriteLine(receivedValue);
Console.WriteLine(drift);
Console.WriteLine(targetValueDriver);
Console.WriteLine(targetValueDriver.ConvertToStr());
Console.WriteLine(targetValueDec);
Console.WriteLine(targetValueDec.ConvertToStr());
public enum DecimalSeparator
public static class Extension
public static string ConvertToStr(
DecimalSeparator decimalSeparator = DecimalSeparator.Dot)
NumberFormatInfo numberFormatInfo = new NumberFormatInfo()
CurrencyDecimalSeparator = decimalSeparator.ToString(),
NumberGroupSeparator = "",
CurrencyGroupSeparator = ""
return value.ToString(format, (IFormatProvider) numberFormatInfo);