public static string ToString(double value, string exception, double min, double max, char separator) { string output = Doubles.ToString(value, exception, min, max); if (System.String.IsNullOrEmpty(output)) { return(output); } string correction = string.Empty; bool IsSeparatorFound = false; for (int i = 0; i < output.Length; i++) { char c = output[i]; if (char.IsDigit(c)) { correction += c; } if (!IsSeparatorFound) { correction += separator; IsSeparatorFound = true; } } return(correction); }
/// <summary> /// Colours textbox RGB depending on value /// </summary> /// <param name="Tbx"></param> /// <param name="value"></param> /// <param name="exception"></param> /// <param name="decimals"></param> /// <param name="min"></param> /// <param name="max"></param> /// <param name="punctuation"></param> public static void ColourDouble(ref TextBox Tbx, double value, string exception, int decimals, double min, double max, char punctuation, double precision = 0) { Tbx.Text = Doubles.ToString(value, exception, decimals, min, max, punctuation); if (Tbx.Text == exception) { Tbx.ForeColor = Color.Black; } else if (AMath.Equ(value, 0, precision)) { Tbx.ForeColor = Color.DarkBlue; } else if (value < 0) { Tbx.ForeColor = Color.DarkRed; } else if (value > 0) { Tbx.ForeColor = Color.DarkGreen; } }
/// <summary> /// This method parses string to double ignoring white spaces and changing first puctuation into specified one /// </summary> /// <param name="value"></param> /// <param name="exception"></param> /// <param name="decimals"></param> /// <param name="min"></param> /// <param name="max"></param> /// <param name="separator"></param> /// <returns></returns> public static string ToString(double value, string exception, int decimals, double min, double max, char punctuation) { string output = Doubles.ToString(value, exception, decimals, min, max); if (System.String.IsNullOrEmpty(output)) { return(output); } string sign = ""; if (output[0] == '-') { sign = "-"; output = output.Substring(1, output.Length - 1); } string correction = string.Empty; bool IsSeparatorFound = false; for (int i = 0; i < output.Length; i++) { char c = output[i]; if (char.IsDigit(c)) { correction += c; continue; } if (!IsSeparatorFound && (c == '.' || c == ',')) { correction += punctuation; IsSeparatorFound = true; } } return(sign + correction); }
/// <summary> /// Colours texbox RGB depending on values comparison and assigns v1 /// </summary> /// <param name="Tbx"></param> /// <param name="v1"></param> /// <param name="v2"></param> /// <param name="exception"></param> /// <param name="decimals"></param> /// <param name="min"></param> /// <param name="max"></param> /// <param name="punctuation"></param> public static void ColourDouble(ref TextBox Tbx, double v1, double v2, string exception, int decimals, double min, double max, char punctuation, double precision = 0) { FormsControls.ColourDouble(ref Tbx, v1, v1, v2, exception, decimals, min, max, punctuation, precision); Tbx.Text = Doubles.ToString(v1, exception, decimals, min, max, punctuation); }