/// <summary> /// 指定された文字列が正しく数値に変換できる文字列か判定する /// </summary> public bool IsValue(ValueTextBox sender, string text, bool underEditing) { Match m; if (underEditing) { if (sender.AllowNegativeValue) { m = RxUnderEditing.Match(text); } else { m = RxUnderEditingPlus.Match(text); } } else { if (sender.AllowNegativeValue) { m = Rx.Match(text); } else { m = RxPlus.Match(text); } } return(m.Success && m.Index == 0 && m.Length == text.Length); }
/// <summary> /// 実数から文字列へ変換する。 /// </summary> public string ValueToString(ValueTextBox sender, object val) { if (val == null) { return(""); } var v = Convert.ToInt64(val); return(v.ToString()); }
/// <summary> /// 文字列から実際の値への変換を行う。 /// </summary> public object StringToValue(ValueTextBox sender, string text, out string errMsg) { long v; bool result = long.TryParse(text, out v); if (result) { errMsg = null; return(v); } else { errMsg = NotANumber; return(null); } }
/// <summary> /// 実数から文字列へ変換する。 /// </summary> public string ValueToString(ValueTextBox sender, object val) { if (val == null) { return(""); } var v = Convert.ToDouble(val); if (sender.DecimalPlaces == 0) { return(v.ToString()); } else { return(v.ToString(string.Format("F{0}", sender.DecimalPlaces))); } }