Nano Hash - криптовалюты, майнинг, программирование

XSLT 2.0 Как изменить форматирование чисел по умолчанию?

В XSLT 1.0 (с использованием Xalan) вывод результата:

<xsl:variable name="source0" select="number(num3)"/>
<xsl:value-of select="$source0"/>

было число, записанное как 2011234. Но в XSLT 2.0 (с использованием Saxon) оно отображается как 2.011234E6. Я хочу, чтобы он всегда отображался как 2011234 в случае Saxon/2.0.

Есть ли способ установить строку изображения по умолчанию, когда она выводит число?

Я видел десятичный формат, но он влияет только на строки изображений, а не на форматирование чисел. Я не могу просто разбрасывать номер формата везде, так как тогда мне придется везде проверять типы данных и... это будет беспорядок.


  • Не используйте плавающую запятую, если вам не нужна плавающая запятая. Выработайте привычку объявлять тип ваших переменных (например, as=xs:integer) и использовать явные преобразования (xs:decimal(), xs:integer()), а не функцию number(). 14.01.2011

Ответы:


1

В XSLT 2.0 (или XSLT 1.0) невозможно выразить, что каждый раз, когда числовое значение выводится, оно должно быть в формате «по умолчанию», без использования fn:format-number(), xsl:decimal-format или op:cast или встроенных конструкторов типов. Единственный способ, которым каждое число будет считаться определенным типом, состоит в том, что для ввода была объявлена ​​схема (так что это PSVI), и вы запускаете преобразование с процессором, поддерживающим схему.

29.07.2010
  • Спасибо за ответ... Вау, это кажется безумием. Очевидно, что существует преобразование по умолчанию, так почему бы не настроить это преобразование по умолчанию? Какая досада. Таким образом, требуется, чтобы номер формата отображался повсюду... и теперь я обнаружил, что номер формата имеет серьезные проблемы... но это другой вопрос... 30.07.2010
  • @taotree: я думаю, что объявление числового формата по умолчанию было бы функцией, но я не думаю, что это было бы очень желательно, например, функция первого класса, сопоставление элементов с шаблоном или вложенная последовательность. 30.07.2010
  • На самом деле, это не имеет значения. Поддержка форматирования чисел минимальна, формат по умолчанию, который переключается на научный при 7 цифрах ... вспомогательных функций недостаточно, чтобы в любом случае сделать настраиваемое форматирование по умолчанию таким значимым. 31.07.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..