c#文本框十进制格式

时间:2011-08-25 08:45:18

标签: c# formatting decimal

我希望我的文本框绑定到钱(SqlServer)实体字段,只显示两个小数位而不是四个位置。

我使用具有以下显示和编辑格式的DevExpress textEditCalcEdit框:"#,##0.00#;(#,##0.00#)";但我总是得到四个小数位(零)。

我在Janus Grid中使用相同的格式字符串,值正确显示。

任何想法,谢谢。

4 个答案:

答案 0 :(得分:5)

我强烈建议尽可能使用内置格式字符串,例如N2

string s = number.ToString("N2");

如有疑问,请使用John Sheehan的.NET Format String Quick Reference备忘单。它具有您在.NET中格式化数字和日期所需的所有信息。

DevExpress控件通常要求您还指定要格式化的内容(例如数字,日期等):

calcEdit.Properties.DisplayFormat.FormatType = FormatType.Numeric;
calcEdit.Properties.DisplayFormat.FormatString = "N2";

如果未指定格式类型,则不会应用格式字符串。

使用TextEdit,您应该指定一个Mask。

textEdit.Properties.Mask.MaskType = MaskType.Numeric;
textEdit.Properties.Mask.EditMask = "N2";

答案 1 :(得分:4)

使用此:

例如,你有一个名为amount的变量。然后像这样格式化,

amount.ToString("###,###.00");

它会给你两位小数的金额。

希望这有帮助。

答案 2 :(得分:3)

尝试#,##0.00 - 您不应该需要跟踪"#"。

答案 3 :(得分:0)

我通常只是在验证后将新格式化的值写回文本框。因此,如果它是千分之一到千分之一,那么在经过验证的事件处理程序中,我将值解析为像这样的浮点数之后将其写回文本。 this.textbox1.Text = speed.ToString(“N3”)。