【发布时间】:2021-09-26 13:27:19
【问题描述】:
我有带有文本框的 winform 项目。我将使用这些文本框进行数学运算。在文本框中,我想显示没有点的数字。外汇;
号码:123.384243333333333;
显示格式:123
所以我使用了下面的代码。
string result = (height * rate).ToString();
textbox1.Text = String.Format("{0:N0}", result);
但数学计算必须预先确定。如果我想达到文本框值
string Width= textbox1.Text;
宽度值为 123。但我想达到第一个值,即 123.384243333333333。 所以格式化后的结果会失去它的精度。我怎样才能保持第一个值?
我将标签属性用于其他操作。所以我不能用。
DataGirdView 控件通过单元格格式化事件为我们提供了这个机会。单元格显示不带点的值,但单元格保留真实(第一个)值。我正在寻找类似的东西。
【问题讨论】:
-
利用类。
-
步骤 1) 保持所有数值为数字! 不要将任何你想稍后处理的东西变成字符串,使用字符串 only 输出.第 2 步)你完成了。
-
@zaggler 你的意思是向文本框添加新属性吗?如果有怎么办?
-
我不知道我怎么能。 仅使用数字进行计算。使用字符串 only 进行显示。 不要使用字符串中的值来计算任何东西。
-
从
TextBox派生一个新类,添加一个小数属性来保持值,在新属性的setter中截断值得到整数部分并设置到Text属性.Text = Math.Truncate(value).ToString();.
标签: c# formatting textbox numbers