Предполагается, что плавающая точка IEE754 (64 бита) правильно представляет 15 значащих цифр, хотя внутреннее представление имеет 17 цифр. Есть ли способ принудительно установить 16-ю и 17-ю цифры в ноль ??
Ref:
http://msdn.microsoft.com/en-us/library/system.double(VS.80).aspx:
,
.
Помните, что число с плавающей запятой может приближаться только к десятичному числу, и что точность числа с плавающей запятой определяет, насколько точно это число приближается к десятичному числу. По умолчанию значение Double содержит 15 десятичных цифр точности, хотя внутренне поддерживается максимум 17 цифр. Точность числа с плавающей точкой имеет несколько последствий:
,
.
Пример номера:
d1 = 97842111437.390091
d2 = 97842111437.390076
d1 и d2 различаются в 16-м и 17-м десятичных разрядах, которые не должны быть значимыми. Ищем способы заставить их обнулить. т.е.
d1 = 97842111437.390000
d2 = 97842111437.390000