Существует множество вопросов, касающихся округления десятичной точки до 2 десятичных точек после запятой или добавления начальных нулей. Однако я не могу найти тот, который добавляет конечные нули с переменным количеством нулей.Добавить переменное количество конечных нулей на основе целого числа ввода
То, что я хочу добиться:
с положительным целым числом п, я хочу иметь десятичную 1/н с п количества цифр после запятой. Таким образом, первые 10 будет:
1/1 = 1 -> 1.0
1/2 = 0.5 -> 0.50
1/3 = 1.333... -> 1.333
1/4 = 0.25 -> 0.2500
1/5 = 0.2 -> 0.20000
1/6 = 0.666... -> 0.666666
1/7 = 0.142... -> 0.1428571
1/8 = 0.125 -> 0.12500000
1/9 = 0.111... -> 0.111111111
1/10 = 0.1 -> 0.1000000000
Предпочтительно у меня есть результат в виде строки и используйте код, который является как можно более коротким. Таким образом, нет for-loops или всех настроек Formatter. Предпочтительно что-то вроде String.format(..., n);
или другое короткое решение.
Я попробовал String.format("%f0", 1./n);
, чтобы увидеть, что он будет выводить, но это только добавляет до 7 цифр (не знаю, как это настроено, и если это настраивается). Таким образом, для String.format("%f0", 1./8);
выход 0.1250000
отсутствует 8-й ноль.
Perfect, спасибо! Оказалось, так просто. :) –
Хмм .. для 'n = 18' это приводит к' 0.0555555555555555500' вместо '0.055555555555555555': S –
Это связано с тем, что двойник имеет только 17 значащих цифр. –