public static string RoundRatioValue(string value, int decimals) { var separator = FieldValidation.GetSeparator(value); var values = value.Split(separator); return(string.Concat(RoundDoubleValue(values[0], decimals), separator, RoundDoubleValue(values[1], decimals))); }
public static bool IsRatio(string value) { if (IsNumberLast(value) && CheckIfRatio(value, ValidationType.Decimal, false)) { var values = value.Split(FieldValidation.GetSeparator(value)); return(!values[0].ToEditorDouble().Equals(0) && !values[1].ToEditorDouble().Equals(0)); } return(CheckIfNumber(value, ValidationType.Decimal, false)); }
public static void SetSpinButtonValue(string newValue, int roundDigits, out string finalStringValue, out double finalDecimalValue) { if (CheckIfRatio(newValue)) { finalStringValue = FieldValidation.RoundRatioValue(newValue, roundDigits); finalDecimalValue = newValue.Split(FieldValidation.GetSeparator(newValue))[0].ToEditorDouble(); } else { finalStringValue = FieldValidation.RoundDoubleValue(newValue, roundDigits); finalDecimalValue = newValue.ToEditorDouble(); } }
public static void SetSpinButtonValue(double newValue, string actualStringValue, int roundDigits, out string finalStringValue, out double finalDecimalValue) { //We round the new value newValue = Math.Round(newValue, roundDigits); //Get the current data to increment double originalValue; //values 0 are writed like 0.0 we need to fix it if (CheckIfRatio(actualStringValue)) { originalValue = actualStringValue.Split(FieldValidation.GetSeparator(actualStringValue))[0].ToEditorDouble(); finalStringValue = string.Concat(FieldValidation.FixZeroDoubleValue(newValue.ToEditorString()), actualStringValue.Substring(originalValue.ToEditorString().Length)); } else { finalStringValue = FieldValidation.FixZeroDoubleValue(newValue.ToEditorString()); } finalDecimalValue = newValue; }