C# Winform 文本框数值

Posted

技术标签:

【中文标题】C# Winform 文本框数值【英文标题】:C# Winform Textbox Numeric Value 【发布时间】:2021-03-28 06:20:38 【问题描述】:

在我的 SQL 数据库中,我有一个表

(Product)
(
  Item nvarchar(50),
  Price real
)

在我的 C# winform 应用程序中,我有一个该表的类对象

class Product

  string Item;
  double Price;


using binding source, I bind the text property of textbox1.text to Product.Item 
and 
textbox2.text to Product.Price. 

data in my table in the database is as follows, 
Item = Item1
Price = 90.53

当我的应用程序中表示相同的数据并绑定到我的两个文本框时, textbox1.text = Item1(这里没有问题) 但 textbox2.text = 90.529998779296875 而不是 90.53。

我不知道是什么让数据库中的 90.53 在我的文本框中表示为 90.529998779296875?

【问题讨论】:

为什么要使用近似数据类型([real], [float(24)])来表示货币(Money [money], [smallmoney])?使用小数。 用于浮点数值数据的近似数数据类型。浮点数据是近似的;因此,并非数据类型范围内的所有值都可以准确表示。 real 的 ISO 同义词是 float(24)。 docs.microsoft.com/en-us/sql/t-sql/data-types/… 【参考方案1】:

在 SQL 端使用货币数据类型解决了这个问题,现在我总是得到数据库中保存的确切数字

【讨论】:

以上是关于C# Winform 文本框数值的主要内容,如果未能解决你的问题,请参考以下文章

C# 自动清除 Winform 文本框

C# winform 文本框里,怎么设置数字的格式?

C# WinForm 文本框离开焦点事件 问题???

在C# winform中怎么设置文本框中部分字体的颜色,即根据条件在编程中改变文本框中部分字体的颜色

C# winform 程序中如何限制一个文本框中只输入数字和字母呢?

C#关于winform线程更新form的文本框输出的问题