2016-08-18 3 views
2

Есть ли спецификация о том, как десятичного числа должны быть отформатированы, при передаче в качестве параметра в качестве URL:Как форматировать десятичную (с плавающей запятой) параметр номера в URL

e.g. http://example.org?value=1234.5 против e.g. http://example.org?value=1234,5

Или это зависит от реализации сервера? Этот вопрос возникает из-за того, что некоторые страны используют запятую, а точную точку.

Обновление: меня не интересует способ urlencode значения, но как форматировать десятичное число.

ответ

1

Есть ли спецификация о том, как десятичного числа должны быть отформатированы, при передаче в качестве параметра в URL

No.

Это полностью зависит от реализации сервера.

Возможно, вы захотите принять оба варианта от клиентов с различными настройками региона/языка/культуры или сделать конверсию на стороне клиента (ненадежной в веб-среде, хотя, поскольку JavaScript можно отключить) и иметь сервер ожидайте один конкретный стандарт.

Если вы ожидаете определенного стандарта, это, вероятно, не плохая идея по умолчанию для англоязычной нотации (1234.56) и хранить ее внутренне, учитывая, что наши среды программирования, библиотеки и т. Д. Также крайне англоцентричны.

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

+1

В качестве дополнительного аргумента в спецификации [OData] (http://www.odata.org/documentation/odata-version-2-0/overview/#PrimitiveDataTypes), Edm.Decimal, Edm.Single и Edm.Double значения определяются с помощью точки. – scher

1

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

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

- Википедия: Decimal mark

Если вы с использованием точки параметра с плавающей URL для какого-то программного расчета, так что это обычная практика, чтобы формат его так, как он работает, которые в большинстве случаев это формат с точкой ., поскольку , не используется в программных вычислениях как десятичная точка.

Проверил: вы можете проверить некоторые популярные сайты, как Amazon, eBay, Shopify и другие, где все они используют . не ,.

Если вы только показывая его как содержание или получать его от конечной точки показать позже как содержание или распечатаны (не для целей программного расчета), то вы должны смотреть на this Википедии статья, в которой доступны все страны и их надлежащее использование форматирования чисел , вы можете показать это в соответствии с этими обозначениями.

+0

Спасибо за ваш ответ. Но я не вижу, как это объясняет, как десятичное число должно быть отформатировано при передаче в качестве параметра запроса в URL-адресе. – scher

+0

Я обновил свой ответ, надеясь, что он разрешит ваше замешательство. – MNR

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