在午休时间,我们开始讨论double
值类型的精度。
我的同事认为,小数点后总是有15位。
我认为不能说,因为IEEE 754没有做出假设
关于这一点,这取决于第一个1
在二进制文件中的位置
表示。 (即,小数点前的数字大小也要计算在内)
一个人如何做出更合格的陈述?
最佳答案
如C# reference所述,精度在小数点之前或之后为15到16位数字(取决于所表示的十进制值)。
简而言之,您是对的,它取决于小数点之前和之后的值。
例如:
12345678.1234567D
//右边的下一位数字将被四舍五入1234567.12345678D
//右边的下一位数字将被四舍五入完整样本在:http://ideone.com/eXvz3
另外,尝试将
double
值视为固定的十进制值也不是一个好主意。关于c# - 小数点后 double ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12089817/