在.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