C# 在网格视图c中读取数据#

C# 在网格视图c中读取数据#,c#,excel,datagridview,C#,Excel,Datagridview,我正在尝试使用C#将excel文件中的数据读取到DataGridView。我的excel数据是1.001。但是,DataGridView将其作为1.000999999获取。如果您的列类型正确设置为float或double,请帮助我解决该问题,并在我的DataGridView中显示1.001: dataGridView.Columns["ColumnName"].DefaultCellStyle.Format = "N3"; 我想,你看到的是一个以2为基数的浮点数无法准确地表示以10为基数的数字

我正在尝试使用C#将excel文件中的数据读取到
DataGridView
。我的excel数据是1.001。但是,
DataGridView
将其作为1.000999999获取。如果您的列类型正确设置为
float
double
,请帮助我解决该问题,并在我的
DataGridView
中显示1.001:

dataGridView.Columns["ColumnName"].DefaultCellStyle.Format = "N3";
我想,你看到的是一个以2为基数的浮点数无法准确地表示以10为基数的数字


或者,您可以尝试使用
decimal
。这是一个以10为基数的浮点数。

您的列类型是什么?无法将我的列类型更改为十进制或浮点bcz。我的某些值与string@Nishant然后,在生成要输入到
DataGridView
的字符串时,首先格式化数字:
myNumber.ToString(“N3”)
它不允许我使用显示错误“将文本表示为utf-16代码序列”的(“N3”)其中,作为我读取字符串类型的值id的变量,当数据表读取值时,它读取1.001为1.000999,当我使用is指数格式时,则1.001也不会被该if条件捕获,其中as 0.001在if指数块中捕获