在.NET,当我添加两个SqlDecimals,像这样:添加两个.NET SqlDecimals提高精度?
SqlDecimal s1 = new SqlDecimal(1);
SqlDecimal s2 = new SqlDecimal(1);
SqlDecimal s3 = s1 + s2;
然后S3具有精度2,而s1和s2都具有精度1.
这似乎奇数,特别是随着文档状态加法运算符的返回值是“一个新的SqlDecimal结构,其Value属性包含总和”。即根据文件,添加不应该改变精度。
我在这里错过了什么吗?这是预期的行为?
干杯,
蒂尔曼
通常在添加两个浮点值的情况下,结果是双重考虑溢出。所以,看起来奇怪的是,它并不奇怪,在正确的背景下,它具有很大的意义。 –
谢谢了,在重读'精度'的定义之后,它实际上有了更多的意义......然后,不应该将加法运算考虑到实际值,而只是在必要时调整精度? – user812775