C# WPF文本框TextEdit不以科学计数法显示
生活随笔
收集整理的這篇文章主要介紹了
C# WPF文本框TextEdit不以科学计数法显示
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
01
—
前言
一個float或者double類型的數(shù)值,如果小數(shù)點后0的個數(shù)≥4,在界面上就會自動以科學(xué)計數(shù)法顯示,
比如:0.00003會顯示成這樣
但是很多時候我并不希望它這樣顯示,因為這樣不方便編輯,和界面其它數(shù)據(jù)格式也不統(tǒng)一,我只希望原樣顯示。這時候我們就需要進行Convert。
02
—
Converter實現(xiàn)方法
首先創(chuàng)建Converter類:
public class StringToNumberConverter:IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){NumberStyles numberStyles = System.Globalization.NumberStyles.Float;//使界面不顯示科學(xué)計數(shù)法return Decimal.Parse(value.ToString(), numberStyles);}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){//可以輸入“.”或者“,”,原理是使其報錯則不對binding的變量賦值string result = (value.ToString().EndsWith(".") ? "." : value).ToString();result = (result.ToString().EndsWith(",") ? "," : result).ToString();//可以輸入末尾是0的小數(shù),原理同上Regex re = new Regex("^([0-9]{1,}[.,][0-9]*0)$");result = re.IsMatch(result) ? "." : result;return result;}}其次在xaml中:
①引用命名空間:
②用戶資源定義x:key:
③在空間中綁定Converter
<dxlc:LayoutItemMargin="10,0,0,0"FontSize="13"Label="DefectSize(m)" HorizontalContentAlignment="Right"><dxe:TextEditWidth="150"HorizontalAlignment="Left"MaskType="Numeric"Text="{Binding DefectSize, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay,Converter={StaticResource StringToNumberConverter}}" /></dxlc:LayoutItem>03
—
運行結(jié)果
成功實現(xiàn)數(shù)值的原樣顯示!
總結(jié)
以上是生活随笔為你收集整理的C# WPF文本框TextEdit不以科学计数法显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抓包写代码模拟怎么减少重复劳动
- 下一篇: 一问就打鼓,一用就糊涂,是我小看它了