c#文本框十进制格式

Doh*_*msg 7 c# formatting decimal

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

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

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

任何想法,谢谢.

Alp*_*ale 5

用这个:

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

amount.ToString("###,###.00");
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助。


ber*_*hof 5

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

string s = number.ToString("N2");
Run Code Online (Sandbox Code Playgroud)

如有疑问,请使用John Sheehan的.NET格式字符串快速参考备忘单.它具有您在.NET中格式化数字和日期所需的所有信息.

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

calcEdit.Properties.DisplayFormat.FormatType = FormatType.Numeric;
calcEdit.Properties.DisplayFormat.FormatString = "N2";
Run Code Online (Sandbox Code Playgroud)

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

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

textEdit.Properties.Mask.MaskType = MaskType.Numeric;
textEdit.Properties.Mask.EditMask = "N2";
Run Code Online (Sandbox Code Playgroud)


Jer*_*Gee 3

尝试一下#,##0.00——您不需要尾随“#”。