Если Вы хотите иметь действительно хорошее качество (думайте, надлежащее расположение/CSS и т.д.), необходимо создать процесс, встраивающий реальный webbrowser рендеринг его вне экрана и печать его через драйвер принтера PDF.
Я думаю, что проблема не в DecimalFormat ()
, а в типичных ошибках округления чисел с плавающей запятой.
см .: PrecisionEvaluate ()
DecimalFormat - это функция форматирования. Не математическая функция. Его работа не состоит в том, чтобы округлять ваше число, к сожалению, CF не имеет хороших математических функций для десятичных дробей, поэтому вам придется писать свои собственные.
Вот что кто-то написал на странице CF Liveocs для round ():
<cffunction name="roundDecimal" returntype="numeric">
<cfargument name="num" type="numeric" required="yes">
<cfargument name="decimal" type="numeric" default="2" required="no">
<cfreturn round(num*10^decimal)/10^decimal />
</cffunction>
Я бы не стал использовать тег
для группировки метки и ее поля, поскольку это не абзац. Если у вас нет другого использования для
, вы можете использовать по одному на «строку». Если у вас есть три входа для дня рождения, тогда набор полей полностью подходит.
Список определений, предложенный Гэвином, неплохая идея, но это действительно похоже на ненужную разметку - вы можете просто стилизовать метки и поля ввода с нужной шириной и
Добавление классов-оболочек также вполне допустимо - помните, что вам не обязательно использовать их в CSS, они все равно добавляют семантический слой. В некоторых случаях можно использовать даже микроформат .
Вы также можете использовать селекторы атрибутов для красивого стиля ввода: