我正在使用一个数据库,该数据库的限制是它可以存储的唯一(数字)数据类型是double。我想要做的是选择某一行的数字并将其放入 HTTP 请求中。问题围绕着我不知道这个数字是否应该有小数。
例如,如果 double 是一个 ID,我就不能有任何格式,因为获取HTTP 请求的站点会被混淆。请注意以下示例:
site.com/showid.php?id=12300000 // OK
site.com/showid.php?id=1.23E7 // Bad; scientific notation
site.com/showid.php?id=12300000.0 // Bad; trailing decimal
解决方案是将其转换为 long。忽略溢出长的问题,它解决了科学记数法和(显然)尾随小数。这可能是一个可接受的解决方案,但如果代码不假定它是我们正在处理的 ID,那就太好了。例如,如果我要查询一个显示地图的站点,并且数字是坐标,其中小数点非常重要,该怎么办?然后不再接受长期转换。
简而言之;
- 如果双精度数没有小数,请不要添加尾随小数。
- 如果它有小数,请全部保留。
- 这两种情况都不应该有科学记数法或千位分隔符。
该解决方案将同时移植到 C# 和 Java,因此我接受两种语言的答案。(哦,我不知道如何称呼这个问题,如果你有更好的东西,请随时重命名。)