2016-08-18 48 views
2

参数是否有一个关于如何十进制数字已被格式化,当作为一个URL参数传输规格:如何格式化小数点(浮点)数网址

e.g. http://example.org?value=1234.5e.g. http://example.org?value=1234,5

或者这是否取决于服务器的实现?这个问题引起了一些国家使用逗号的原因,一些点。

更新:我对如何urlencode值不感兴趣,但如何格式化十进制数。

回答

1

有一个关于如何十进制数字已被格式化,当作为参数的URL

这完全取决于服务器实现传输规范。

您可能希望接受来自具有不同地区/语言/文化设置的客户端的两种变体,或者您可以在客户端执行转换(尽管在Web环境中不可靠,但可以关闭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参数某种编程计算所以它是一种常见的做法格式它,它的工作原理的方式,在大多数情况下,是带点的格式.表示法,因为,未在编程计算中用作小数点。

检查:你可以检查一些热门网站如亚马逊,eBay,Shopify和其他人在那里所有的人都用.没有,

如果你只是展示它作为一个内容或得到它从一个端点显示它后来作为内容或打印(不适用于编程计算的目的),那么你应该在this维基百科看看文章,其中所有国家及其数字格式的适当使用可用,所以您可以根据这些指定显示它。

+0

感谢您的回答。但是我看不到,这是如何解释如何将十进制数字格式化为URL中查询参数的参数。 – scher

+0

我已经更新了我的答案,希望它能解决您的困惑。 – MNR