[英]c# textbox decimal formatting
我希望我的文本框绑定到money(SqlServer)实体字段,只显示两个小数位而不是四个位。
我使用具有以下显示和编辑格式的DevExpress textEdit
和CalcEdit
框: "#,##0.00#;(#,##0.00#)";
但我总是得到四位小数(零)。
我在Janus Grid中使用相同的格式字符串,值正确显示。
任何想法,谢谢。
我强烈建议尽可能使用内置格式字符串,例如N2
。
string s = number.ToString("N2");
如有疑问,请使用John Sheehan的.NET格式字符串快速参考备忘单。 它具有您在.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";
用这个:
例如,您有一个名为amount的变量。 然后像这样格式化,
amount.ToString("###,###.00");
它会给你两位小数的金额。
希望这可以帮助。
尝试#,##0.00
- 你不应该使用尾随的“#”。
我通常只是在验证后将新格式化的值写回文本框。 因此,如果它是千分之一到千分之一,那么在经过验证的事件处理程序中,我将值解析为像这样的浮点数之后将其写回文本。 this.textbox1.Text = speed.ToString(“N3”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.