如何设置双精度类型变量的数字格式?
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 上
【讨论】:
是的,我为我工作是对的..形成此类值的简单格式是:
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" />
【讨论】:
以上是关于如何设置双精度类型变量的数字格式?的主要内容,如果未能解决你的问题,请参考以下文章