SQL Server 中的实际数据类型是精度 7,但有时 Excel 显示的精度高于此,有时小数部分完全不同。有人可以解释这些结果吗:
**Number Inserted | Displayed in SSMS | Displayed in Excel**
_________________________________________________________
12345678 1.234568E+07 12345678
1234567.1 1234567 1234567.125
1234567.5 1234568 1234567.5
1234567.45 1234568 1234567.5
1234567.59 1234568 1234567.625
1234567.69 1234568 1234567.75
1.12345678 1.123457 1.123456836
1.5123456 1.512346 1.512345552
90000000 9E+07 90000000
99999999 1E+08 100000000
答案1
简单来说,SSMS 显示被格式化为 7 位有效数字,对于大于 10,000,000 的数字采用指数表示法。
Excel 显示屏可能显示双精度,并且出于这些目的(几乎)显示“精度 7”数字存储的实际二进制值。