2013-10-01 1 views
4
Formatter f = new Formatter(new StringBuffer()); 
f.format("%06d",11434235); 
System.out.println(f); 

печатает значение 11434235как ограничить Formatter от расширения

есть ли способ ограничить Formatter от расширения выхода?

то есть, вывод должен быть 114342 вместо 11434235, когда строка форматирования "%06d"

+3

ваш одноклассник? http://stackoverflow.com/questions/19110103/string-format-get-maximum-value/19110210#19110210 –

+0

@ user2310289: я не студент-помощник .. :) Я отправил его из любопытства ... –

+0

Ох см., используя то же значение '11434235', путают меня. –

ответ

3

Вы можете просто отформатировать это как String, так что я думаю, что лучшее решение с использованием format() будет

Formatter f = new Formatter(new StringBuffer()); 
f.format("%.6s",11434235); 
2

Простое решение: Решение

Formatter f = new Formatter(new StringBuffer()); 
f.format("%06d", 11434235); 
System.out.println(f.toString().substring(0, 6)); 

угорь Ли для решения с только строки формата.

+1

хороший подход, просто сомневаюсь, зачем нам нужно форматировать заявление в вашем коде, потому что 'substring (0, 6)' обеспечит правильное решение? – Woody

+1

Формат выдает до шести цифр даже для меньших номеров. – Thilo

+0

Ну, на самом деле можно указать такой разрез, проверьте мой ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^