【问题标题】:How to always show three digits after the comma如何始终在逗号后显示三位数字
【发布时间】:2020-02-25 09:28:50
【问题描述】:

假设我有一个文本框。当我写 0.5 时,我希望它自动显示为 0.500。

我的问题是,一旦逗号后面的数字为 0,它们就会被截断。

例子

0.5 -> 0.500

0.51 -> 0.510

更改本身将发生在 LostFocus 事件中(类似 Excel 的计算)。

我需要固定 3 位数。

【问题讨论】:

标签: c# wpf


【解决方案1】:

简而言之:

 var output = string.Format("{0:#,0.000}", value));   

例如:

 float[] values = new float[] { 0.5f, 0.51f, 0.51234f };
 foreach( var v in values)
      Console.WriteLine(string.Format("{0:#,0.000}", v));            
 Console.ReadKey();

【讨论】:

  • 有没有办法从字符串更改为字符串,因为我真的不需要在控制台上使用它。
  • 你不需要使用控制台。这只是一个例子!看到这一行 string output = string.Format("{0:#,0.000}", value));
  • 到目前为止工作,谢谢。我会测试一下而不是接受答案。
【解决方案2】:

如果你在 WPF 中,你可以在 XAML 中进行:

<TextBlock Text="{Binding Path=Length, StringFormat={}{0:#000}}" TextAlignment="Right"/>

【讨论】:

  • 对我不起作用。如果我在 TextBox 中输入,则没有任何变化。
  • 好吧,对不起,我刚刚看到你使用 TextBox,我将它用于 TextBlock...对于文本框,我认为它更难,因为你也可以编辑它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
  • 2023-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多