C# Access 2010+;Datagridview十进制问题

C# Access 2010+;Datagridview十进制问题,c#,ms-access,datagridview,decimal,C#,Ms Access,Datagridview,Decimal,我似乎对access 2010中的十进制选项存在争议 下面的图片显示了我遇到的问题,一张图片显示Access 2010中空单元格中的正常0,但是当此数据移动到datagridview时,数字变为小数点后3位(0.000) 最终图像显示了在“数量打开”字段中选择的选项,这是为了提供信息,以便尝试找出问题的根源 我认为造成这种情况的主要原因是Access中的Scale选项,当删除该选项时,datagridview将显示数字,而不显示额外的小数位数。但是,删除此选项将不允许我输入任何小数位数 您不

我似乎对access 2010中的十进制选项存在争议

下面的图片显示了我遇到的问题,一张图片显示Access 2010中空单元格中的正常0,但是当此数据移动到datagridview时,数字变为小数点后3位(0.000)

最终图像显示了在“数量打开”字段中选择的选项,这是为了提供信息,以便尝试找出问题的根源

我认为造成这种情况的主要原因是Access中的Scale选项,当删除该选项时,datagridview将显示数字,而不显示额外的小数位数。但是,删除此选项将不允许我输入任何小数位数


您不想为此修改Access数据库上的基础数据类型。相反,您应该修改数据的显示方式

为此,只需使用数字占位符
#

将磅符号替换为相应的数字(如果有) 目前否则,结果字符串中不会出现数字

e、 g


您不想为此修改Access数据库上的基础数据类型。相反,您应该修改数据的显示方式

为此,只需使用数字占位符
#

将磅符号替换为相应的数字(如果有) 目前否则,结果字符串中不会出现数字

e、 g


您所需要的只是正确显示最终结果。试试这个:

private decimal GetDecimalValue(decimal d)
{
    return d / 1.00000000000000000000000000000m;
}

在显示结果之前调用此函数。

您只需正确显示最终结果。试试这个:

private decimal GetDecimalValue(decimal d)
{
    return d / 1.00000000000000000000000000000m;
}


在显示结果之前调用此函数。

当您说datagridview时,是指c#还是vb.net?你能澄清你的标签吗?顺便说一句,标签
access
几乎毫无价值。hi@Remou Its in c#和标签被修改相关:不一样,这就是我说“相关”的原因。此外,在您的问题中,您没有提到数据适配器。因此,我的回答也没有说明这一点。不管怎样,你得到了一个解决方案。当你说datagridview时,你是指c#还是vb.net?你能澄清你的标签吗?顺便说一句,标签
access
几乎毫无价值。hi@Remou Its in c#和标签被修改相关:不一样,这就是我说“相关”的原因。此外,在您的问题中,您没有提到数据适配器。因此,我的回答也没有说明这一点。不管怎样,你已经找到了解决办法。非常感谢你的回答,但是这并不能完全解决我的问题。我试图使datagridview仅显示0,除非输入十进制数,否则将以正确的十进制数显示。@PeterRoche doh完全误解了目标格式。我更新了答案非常感谢,只是一个小问题,我将在答案中编辑,因为数据库中的默认值为0,当前代码默认显示00,所以我将其更改为“#,0.###”,现在可以根据需要执行。我非常欣赏这个答案,并将其标记为已接受的答案。@PeterRoche nice。我已经更新了答案,包括您对
00
问题的修复非常好,非常感谢您对此问题的帮助。非常感谢您的回答,但是这并不能完全解决我遇到的问题。我试图使datagridview仅显示0,除非输入十进制数,否则将以正确的十进制数显示。@PeterRoche doh完全误解了目标格式。我更新了答案非常感谢,只是一个小问题,我将在答案中编辑,因为数据库中的默认值为0,当前代码默认显示00,所以我将其更改为“#,0.###”,现在可以根据需要执行。我非常欣赏这个答案,并将其标记为已接受的答案。@PeterRoche nice。我已经更新了答案,包括您对
00
问题的修复非常好,非常感谢您对此问题的帮助。我认为我无法做到这一点,因为我使用dataadapters显示数据。然后请显示您正在使用的代码,以便我们知道。如果我能看到你如何显示数据,我会帮上更多的忙谢谢你的回答但Conrad Fix已经设法解决了,由于使用了dataadapter,我似乎需要一些东西来在填充datagridview后转换值。我认为我无法这样做,因为我使用dataadapter来显示数据。然后请显示您正在使用的代码,以便我们知道。如果我能看到你是如何显示数据的,我会帮上更多的忙谢谢你的回答,但是Conrad Fix已经设法解决了这个问题,因为有一个dataadapter正在使用,似乎我需要一些东西来在填充datagridview后转换值。