[英]Masked Decimal Input Allow Negative Values
我正在使用轉換器 class 來屏蔽十進制輸入。 它工作得很好,但我需要允許輸入負值。
如何修改此代碼以接受負值?
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Decimal.Parse(value.ToString()).ToString("#0.00");
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
string valueFromString = Regex.Replace(value.ToString(), @"\D", "");
if (valueFromString.Length <= 0)
return 0m;
long valueLong;
if (!long.TryParse(valueFromString, out valueLong))
return 0m;
if (valueLong <= 0)
return 0m;
return valueLong / 100m;
}
有很多方法可以解決這個問題 - 一個是
bool isNeg = value.ToString().Trim().StartsWith("-");
...
if (isNeg)
return -1 * valueLong / 100m;
else
return valueLong / 100m;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.