如何为double类型变量设置数字格式?

时间:2011-09-20 06:54:44

标签: c# wpf silverlight string-formatting

这可能是一个非常简单的问题。

如何确保double具有以下格式的数字样式?

03.00, 02.04

如果我设置

double foo=1;

变量 foo 的数字格式应为01.00。

如果我设置

foo = 2.5

它应该有值02.50

实现我已经通过MVVM模型将 foo 属性绑定到silverlight文本框。 我希望文本框始终以 00.00 格式显示数字。

4 个答案:

答案 0 :(得分:2)

如果您使用的是Silverlight 4.0版,请查看本教程

Formatting made easy - Silverlight 4

您需要指定字符串格式,如下例

所示
    <TextBlock Name="textBlock5" 
        Text="{Binding DoubleValue, StringFormat='0,0.00'}" />

同时检查:msdn上的Custom Numeric Format Strings

答案 1 :(得分:1)

形成此类值的简单格式为:

string val = 1d.ToString("00.00");

我不知道silverlight文本框是否具有值格式化的特殊属性,可能你需要在之前进行转换。

<强>更新

您可以使用此处所述的绑定:What is the WPF XAML Data Binding equivalent of String.Format?

答案 2 :(得分:0)

将绑定中的StringFormat设置为“00.00” - 如果您向我们展示您的绑定/ xaml代码,我可以为您提供更多信息。

答案 3 :(得分:0)

您可以使用StringFormat格式化Bindings或使用Converters

<TextBlock Text="{Binding DoubleValue, StringFormat=StringFormat=\{0:N2\}}" /> 

<TextBlock Text="{Binding DoubleValue, 
           Converter={StaticResource NumericFormatConverter}, 
           ConverterParameter=N2}" />