#asp-classic #vbscript
#asp-classic #vbscript
Вопрос:
Использование asp. Пытаюсь отформатировать десятичное число, чтобы добавить запятые. Существуют ли в asp простые в использовании функции или методы для перехода от десятичного значения к формату валюты с запятыми?
Примеры:
DecimalValue = 3439,01 CurrencyValue = "3,439.01" DecimalValue = 3843838.38 CurrencyValue = "3,843,838.00"
Ответ №1:
используйте функцию FormatCurrency на vbscript
полный синтаксис таков: FormatCurrency(Выражение[,числовыйафтердектор[, ВклЮчающийDig[,использующийparfornegnum[,групповыйdig]]]])
пример:
FormatCurrency(20000)
вывод = 20 000,00 долларов
пример установки количества десятичных знаков:
FormatCurrency(20000,5)
вывод = 20 000,00000 долларов
Комментарии:
1. VBScript не будет работать в моем сценарии. Вы случайно не знаете код asp, который мог бы добавлять запятые? спасибо
2. @Marc Noon: Хотя ваш вопрос помечен VBScript? Кроме того, вы говорите о классическом ASP или ASP.NET ?
3. @Marc: Классический ASP представляет собой смесь html и VBScript. В html вы можете использовать JavaScript, но нет «asp-кодов», отличных от vbscript или javascript. Если вы имеете в виду ASP.Net это совершенно другая реализация, и на нее никогда не следует ссылаться просто как на ASP из-за путаницы с классической версией. Не могли бы вы, пожалуйста, уточнить, какую вы используете?
Ответ №2:
Чтобы расширить ответ Карлтона Дженке, для этого можно использовать 2 функции (вы упомянули форматирование в качестве валюты в заголовке вопроса, но не включили символы валюты в текст вопроса):
formatnumber
возвращает выражение, отформатированное как число.formatcurrency
возвращает выражение, отформатированное как значение валюты, используя символ валюты, определенный в системной панели управления.
Обе функции принимают одинаковые аргументы, которые являются:
Expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit
[,UseParensForNegativeNumbers [,GroupDigits]]]]
Expression
является ли единственным обязательным аргументом, являющимся числом
вы хотите отформатировать.NumDigitsAfterDecimal
это числовое значение, указывающее, до скольких знаков после запятой вы хотите округлить. Значение по умолчанию равно -1, что указывает на то, что следует использовать региональные настройки компьютера.IncludeLeadingDigit
это константа tristate (см. Ниже), которая указывает, хотите ли вы включать начальный ноль для значений от -1 до 1.UseParensForNegativeNumbers
это еще одна константа tristate, которая указывает, хотите ли вы, чтобы отрицательные значения заключались в круглые скобки, а не использовали символ минуса.GroupDigits
, который является искомым аргументом, также является константой tristate и используется для указания того, хотите ли вы группировать числа, используя системный разделитель групп.
Константы tristate принимают одно из следующих значений:
-2
используется по умолчанию и указывает, что следует использовать значение по умолчанию из региональных настроек компьютера.-1
верно.0
равно false.
Комментарии:
1. Всегда пожалуйста. Честно говоря, я не ожидал от вас никаких отзывов по этому поводу, учитывая, сколько ему лет; Я просто случайно наткнулся на это в своих путешествиях и хотел предоставить немного больше деталей для тех, кто может сделать то же самое в the suture.