【问题标题】:Issue while saving system.decimal values in a dataset在数据集中保存 system.decimal 值时出现问题
【发布时间】:2011-02-10 23:34:54
【问题描述】:

我从事数据密集型模块的工作。 我在绑定到网格的数据集中有一个数据列。 设置datacolumn属性如下:

Datatype     : System.Decimal
MaxLength    : -1
DefaultValue : 0

有了这个属性,我希望每当我输入一个数字时。 11001100011 保存为11001100011.00

但是在内部这被保存为 11001100000.00 !!!

关于正确使用 system.decimal 数据类型的任何想法/意见??

问候 斯里瓦萨

【问题讨论】:

    标签: .net sql sqldatatypes


    【解决方案1】:

    我可以看到 2 个不同的问题,但您的问题有点过于模糊,无法真正理解。 (一些要测试的代码会很好)

    1. Decimal 不是理想的存储容器。就像浮点数和双精度数一样,它具有有限范围的良好值和准确性。它恰好更大。

    2. 仅仅因为某些东西是 Decimal 类型,并不意味着处理它的 gui 控件知道如何处理如此大的数字。可以先转成float,再放入小数。

    【讨论】:

    • 为了更清楚地说明这个问题,基本上我有一个以数据集作为数据源的网格。数据集中的一列是 System.Decimal 类型(我需要它来输入巨大的值)。输入我的测试值后,存储和显示的值不相等。您建议使用哪种数据类型来存储巨大的值
    • 感谢 Cine 的指点!我的代码中有一个地方我将它转换为浮点数以进行计算。我删除它以获得预期的结果
    猜你喜欢
    • 1970-01-01
    • 2014-06-15
    • 2021-04-29
    • 2016-02-01
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2020-11-24
    相关资源
    最近更新 更多