gpt4 book ai didi

java - 通过 curl 使用 JSTL formatNumber 的浮点舍入错误

转载 作者:行者123 更新时间:2023-11-29 04:20:21 26 4
gpt4 key购买 nike

从 Oracle Commerce Platform ATG 11.2 开始,当我访问 JBOSS 服务器时,我在 Web 浏览器请求和 curl 之间得到了不同的结果——这就像 formatNumber 被忽略了,并且值受到 float 的影响点舍入误差。

<span itemprop="price-currency" content="USD">$</span>

<span itemprop="price" class="selection-price">
<fmt:formatNumber type="currency"
pattern="##0.00;"
value="${selectionItem.listPriceAmount}"/>
</span>

具有 100% 的一致性,在浏览器中点击一个页面将产生格式化的值,例如:

  • 27.99 美元
  • 20.00 美元
  • 10.00 美元

但是,当 Google 抓取该网站时发现了一个问题,只需通过同一页面的 curl 即可 100% 重现该网站。这些相同的值显示为:

  • 27.990000000000002 美元
  • 20.0 美元
  • 10.0 美元

没有内置的用户代理逻辑,只有 JSTL formatNumber

知道为什么通过完全相同的 JSP 的完全相同的路径会产生不同的结果吗?

最佳答案

fmt:formatNumber 在无法确定语言环境时会绕过 typepattern 属性。这记录在 JSTL spec 中:

If this action fails to determine a formatting locale, it uses Number.toString() as the output format.

请参阅9.2 格式化区域设置部分以了解如何控制区域设置分辨率。

尝试在使用 curl 时设置 header accept-language

关于java - 通过 curl 使用 JSTL formatNumber 的浮点舍入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com