Только некоторые десятичные числа могут быть сохранены в точной форме как число с плавающей запятой.Из-за этого нет способа определить, сколько десятичных разрядов значимо для любого десятичного числа, для которого это не так.Как предположил Хаммар, читая о формате хранения с плавающей запятой, я считаю, что каждый программист должен обладать некоторыми знаниями о низкоуровневых вещах, таких как:Это работает из-за неточности, с которой компьютеры хранят десятичные дроби, что составляет 2.3 2.2999575697
Это как раз та проблема.Можете ли вы взглянуть на 2.999575697 и сказать, что в нем есть два знака после запятой?Это число является примером десятичного числа, которое не может быть сохранено в точной форме с использованием формата с плавающей запятой.Лучшее, что вы могли бы сделать, - это подсчитать значащие десятичные разряды, хранящиеся в числе с плавающей запятой, которое наилучшим образом приближается к исходному десятичному числу, которое было ему дано - что я не могу себе представить, было бы много пользы.объяснение.