float
, сам по себе не имеет конкретной точности. Это число с плавающей запятой, в частности 32-разрядное двоичное число с плавающей запятой IEEE-754.
Re: Ваш println
вопрос, это не println
, это то, как поплавок преобразуется в String
. Это охватывается JavaDoc для Float.toString(float)
:
Сколько цифр должны быть напечатаны для дробной части м или ? Должна быть хотя бы одна цифра, чтобы представлять дробную часть, а за ее пределами - столько, сколько нужно, и столько цифр, сколько необходимо для однозначного отличия значения аргумента от смежных значений типа float. То есть предположим, что x - это точная математическая величина, представленная десятичным представлением, полученным этим методом для конечного ненулевого аргумента f. Затем f должно быть значением float
, ближайшим к x; или, если два значения с плавающей точкой одинаково близки к х, то е должен быть одним из них, и младшего значащего бита мантиссы в х должно быть 0.
Или положить его другой Кстати, по умолчанию String
имеет только столько цифр, сколько необходимо, если бы вы взяли String
и преобразовали обратно в float
, вы получите то же значение float
.
Ваше имя и вопрос не задают одно и то же. * «что такое точность по умолчанию для float java» и * «Есть ли точность по умолчанию для System.out.println?» * - это разные вопросы. –