繁体   English   中英

c#文本框十进制格式

[英]c# textbox decimal formatting

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

我使用具有以下显示和编辑格式的DevExpress textEditCalcEdit框: "#,##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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM