如果你只是使用像{0:F2}%
字符串格式,那麼你將不得不忍受與數據庫值像4.23代表4.23%這是我無法接受的(直到他們將「百分比」數據類型引入到SQL Server中)。
我創建了下面的值轉換成百分比值在TextBox喜歡4.2367%喜歡0.042367映射到數據庫值:
public class PercentageConverter : IValueConverter
{
//E.g. DB 0.042367 --> UI "4.24 %"
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var fraction = decimal.Parse(value.ToString());
return fraction.ToString("P2");
}
//E.g. UI "4.2367 %" --> DB 0.042367
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//Trim any trailing percentage symbol that the user MAY have included
var valueWithoutPercentage = value.ToString().TrimEnd(' ', '%');
return decimal.Parse(valueWithoutPercentage)/100;
}
}
注意如何格式化字符串(在這種情況下,「P2」)唯一的限制是如何許多小數位顯示,許多小數位不是如何傳遞到底層綁定源。
確定找到了解決的StringFormat = {} {0:F2}% –
你可以發表你的解決方案作爲一個答案,並接受呢?爲了將來的參考 – SynerCoder