我使用的XAML科学记数法。 我做:
<TextBox Text="{Binding Path=CELULARIDAD_CFU, StringFormat='e6'}"/>
问题是,对于171万的显示:1.710000e + 006,这是正确的,但我想看到1.71e + 6。 这是如何在XAML规定? (未在代码)
我使用的XAML科学记数法。 我做:
<TextBox Text="{Binding Path=CELULARIDAD_CFU, StringFormat='e6'}"/>
问题是,对于171万的显示:1.710000e + 006,这是正确的,但我想看到1.71e + 6。 这是如何在XAML规定? (未在代码)
我相信你应该使用G□格式说明符来获得(几乎)你想要什么。
<TextBox Text="{Binding Path=CELULARIDAD_CFU, StringFormat='G'}"/>
在一定范围内(对于不同数量的类型的不同,请参阅链路)的数量将在随后正常符号被显示。 对于足够大的或小的值,这些值将不尾随零和2个指数数字来显示。
为例子float
:
1340000 => 1340000
13400000 => 1.34e+07
0.00054 => 0.00054
0.000054 => 5.4e-05
我没有找到自己想买什么,所以我决定使用的IValueConverter。 例:
Public Class scientificNotation6
Implements IValueConverter
Const EXP As Double = 1000000
Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
Return CDbl(value) / EXP 'whatever you want
End Function
Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Return CDbl(value) * EXP 'whatever you want
End Function
End Class
然后在XAML页面:
<TextBox Text="{Binding Path=CELULARIDAD_CONGELADO, Converter={StaticResource scientificNotation6}"/>
我希望它能帮助。