科学记数法XAML(Scientific notation XAML)

2019-07-30 03:50发布

我使用的XAML科学记数法。 我做:

<TextBox Text="{Binding Path=CELULARIDAD_CFU, StringFormat='e6'}"/>

问题是,对于171万的显示:1.710000e + 006,这是正确的,但我想看到1.71e + 6。 这是如何在XAML规定? (未在代码)

Answer 1:

我相信你应该使用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


Answer 2:

我没有找到自己想买什么,所以我决定使用的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}"/>

我希望它能帮助。



文章来源: Scientific notation XAML