0

XAMLで科学的記数法を使用しています。そうです:

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

問題は、1710000の場合、1.710000e + 006が表示されていることです。これは正しいですが、1.71e+6を見たいと思います。これはXAMLでどのように指定されていますか?(コードにはありません)

4

2 に答える 2

1

欲しいものが正確に見つからなかったので、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}"/>

お役に立てば幸いです。

于 2012-06-29T08:03:13.287 に答える
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
于 2012-06-28T19:32:09.703 に答える