2015-06-28 3 views
0

Я пытаюсь изучить Java (у меня есть опыт программирования на новичках на других языках), и сейчас я читаю Absolute Java 5th Edition. До сих пор все плавное плавание, за исключением небольшого бита, связанного с классом DecimalFormat, поскольку оно относится к E-нотации. Я понимаю основы, но некоторые из логики, которые я просто не могу «получить».Класс Java DecimalFormat и E-notation

Например, номер 12345, отформатированный в виде ## 0. ## E0, заканчивается как 12.3E3 в соответствии с книгой. Почему он определил, что есть две цифры перед десятичной точкой, а не, скажем, один или три? Я знаю, что # является необязательной цифрой, но после игры с некоторыми ограничениями форматирования на разных номерах почти похоже, что форматирование несколько произвольно (хотя я знаю, что этого не может быть). Я искал хорошее объяснение за пределами книги и немного разобрался. Если бы кто-то мог «опустить его» для меня, я был бы очень благодарен.

Также, как часто этот тип форматирования используется в реальном мире?

Спасибо, кучка.

ответ

0

Это число # в передней части модели, таким образом, если это #0.##E0 будет 1.234E4

DecimalFormat df = new DecimalFormat("#0.##E0"); 
System.out.println(df.format(12345)); 

Лучший способ выучить новый язык, если писать маленькие тестовые программы, как это ,

чтения Также больше the Oracle site

+0

Это предложение на сайте Oracle «Если максимальное число целых чисел больше, чем их минимальное количество, и больше 1» немного запутанным по какой-то причине. Не могли бы вы сделать это более ясно? –

+0

Ничего, я просто подумал, я верю. Покажите, мой мозг не стреляет на все поршни, кажется, ха-ха. Спасибо за помощь! –

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