如何设置双精度类型变量的数字格式?

Posted

技术标签:

【中文标题】如何设置双精度类型变量的数字格式?【英文标题】: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 格式显示数字。

【问题讨论】:

你应该将字符串绑定到你的文本框,你不能这样做。 【参考方案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 ***.com/questions/447035/…【参考方案4】:

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

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

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

【讨论】:

以上是关于如何设置双精度类型变量的数字格式?的主要内容,如果未能解决你的问题,请参考以下文章

C语言 双精度类型(double)变量的输入问题

变量和基本类型C++

20180529-1

将一个字符串解析为两个双精度

5 Matlab 的变量与数据类型

js数字转换为float,取N个小数