不知道这是否是正确的方式来问这个问题,但这里是问题所在。如何将小数点四舍五入到最接近的分数?
给定纬度26.746346081599476,我怎么能找到数字26.75作为第16大于数字和26.6875作为第16位低于数字?
26.0
26.0625
26.125
26.1875
26.25
26.3125
26.375
26.4375
26.5
26.5625
26.625
26.6875
My Number: 26.746346081599476
26.75
26.8125
26.875
26.9375
27.0
我正在使用JavaScript,因此在这方面的答案会有所帮助,但不是必需的。我可以蛮力,但我正在寻找优雅的方式来做到这一点。
大图是我想为我正在绘制的地图应用程序创建标准图块。我们正在使用必应地图,并且每次用户平移或放大时都会按需加载数据。如果将标准化发送到服务器的查询标准化为服务器端缓存,这将很好,所以我会得到一些缓存命中。如果我没有将对服务器的请求标准化,那么同一用户不太可能同时查看确切的某个位置。
因此,有越来越缓存的机会较高与点击: /path/data.json?tl=26.6875,-80.6875 & BR = 26.75,-80.75 比: /path/data.json?tl = 26.74946187679896,-80.10930061340332 & BR = 26.743234270702878,-80.09607195854187
任何盒子外面的答案,欢迎为好。
打我给它。我几乎在PowerShell中工作,并总是偶然发现:) – Joey 2009-10-01 21:27:20
@mobrule:你能告诉我为什么你的方式比Guffa的更好吗?我喜欢他的代码少一点,但我对特殊处理如何帮助我在这里感兴趣。 – sheats 2009-10-02 15:44:34
根据您对界限所做的操作,您可能不想让'lower_bound == upper_bound'。例如,您可能会对围绕坐标绘制的框执行一些线性转换,并且您可能在某个分母的某个分母中有一个带有“(upper_bound - lower_bound)'的表达式。 – mob 2009-10-02 16:26:20