【发布时间】:2009-10-28 08:20:57
【问题描述】:
我正在使用的数据库有一个限制,它可以存储的唯一(数字)数据类型是 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
解决这个问题的方法是将其转换为长格式。忽略溢出长的问题,它解决了科学记数法和(显然)尾随小数。这可能是一个可接受的解决方案,但如果代码不假定它是我们正在处理的 ID,那就太好了。例如,如果我要查询一个显示地图的站点,并且数字是坐标,小数点非常重要,该怎么办?那么将不再接受转换为 long。
简而言之;
- 如果双精度数没有小数,请勿添加尾随小数。
- 如果有小数,请全部保留。
- 大小写都不应该有科学记数法或千位分隔符。
此解决方案将同时移植到 C# 和 Java,因此我接受两种语言的答案。 (哦,我不知道如何称呼这个问题,如果你有更好的东西,请随时重命名。)
【问题讨论】:
标签: c# java string format format-string