【问题标题】:how to set number format for double type variable?如何设置双精度类型变量的数字格式?
【发布时间】:2011-09-20 06:54:44
【问题描述】:

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

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

03.00, 02.04

如果我设置了

double foo=1;

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

如果我设置了

foo = 2.5

它应该有值02.50

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

【问题讨论】:

  • 你应该将字符串绑定到你的文本框,你不能这样做。

标签: c# wpf silverlight string-formatting


【解决方案1】:

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

Formatting made easy - Silverlight 4

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

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

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

【讨论】:

  • 是的,我为我工作是对的..
  • 我的应用程序是为英国文化设计的。那么我需要 00,00 中的字符串所以我使用了 'StringFormat='0:00,00'' 但它的设置值像 0,000 为什么会这样?
  • @pramod choudhari - 为此我认为您可以查看此链接可能会为您提供更多想法msdn.microsoft.com/en-us/library/0c899ak8.aspx
【解决方案2】:

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

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

我不知道silverlight文本框是否有特殊的值格式化属性,可能你需要先转换一下。

更新

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我已将 double 类型属性绑定到 TextBox 控件。 StringFormat 会给我字符串类型属性。
    • 否,如果您使用了 XAML 和绑定 (WPF/Silverlight),您可以为该绑定设置 StringFormat(从 Silverlight 4 开始) - 如果您使用 Silverlight 3 或以下版本,您必须使用 ValueConverter
    【解决方案4】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多