问题标签 [floating-accuracy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3129 浏览

r - 这两个比较有什么区别?

可能重复:
为什么这些数字不相等?

0 投票
4 回答
2282 浏览

floating-point - tcl_precision 的状态如何?

我在日常工作中不使用 Tcl。但是,我有一位同事偶尔会与一位希望我们工具的扩展语言更像 Tcl (!) 的客户互动。他提出的一个主题是 Tcl 如何让他通过全局变量 tcl_precision 设置双精度存储的精度。

我进行了一些网络搜索,我发现的文档似乎确实表明是这种情况(而不仅仅是设置打印精度)。但是,tcl_precision 似乎有一段曲折的历史。我的印象是它被完全删除了一两个版本,然后又放回去了,但是警告和关于覆盖默认值 0 的警告和 tut-tuts 关于覆盖默认值 0,这实际上意味着 17(手册承诺足以代表任何 IEEE 754 双)。

那么谁能告诉我更多关于 tcl_precision实际承诺做什么,以及它对隐藏的双打有什么影响?它只是打印数字的全局设置,还是实际上截断了存储数字的精度(这对我来说似乎很危险)?

0 投票
4 回答
28162 浏览

java - 如何以可变精度进行 Java String.format?

我想根据用户输入改变我正在格式化的字符串中双精度表示的精度。现在我正在尝试类似的东西:

但是我收到一个java.util.UnknownFormatConversionException. 我对这种方法的灵感来自 C printf 和这个资源(第 1.3.1 节)。

我是否在某处有一个简单的语法错误,Java 是否支持这种情况,还是有更好的方法?

编辑:

我想我可以做类似的事情:

但我仍然对这种操作的本机支持感兴趣。

0 投票
5 回答
4480 浏览

python - 浮点取模问题

我偶然发现了一个非常奇怪的错误。阅读代码中的注释以了解究竟是什么错误,但本质上是一个模 1 的变量返回 1(但它不等于 1!)。我假设有一个显示问题,浮动非常接近一但不完全。但是,它应该模数为零。我不能轻易测试这种情况,因为 (last % 1) != 1.0 !当我尝试将相同的数字插入另一个 python 终端时,一切正常。这是怎么回事?

0 投票
4 回答
831 浏览

python - 如何计算某个小数位数的值?

使用 numpy 或 python 的标准库,或者。如何获取具有多个小数位的值并将其截断为 4 个小数位?我只想将浮点数与其前 4 个小数点进行比较。

0 投票
3 回答
906 浏览

c# - 浮点数的计算在不同的处理器上会有所不同吗?(+在 C# 和 C 之间传递双打)

我有一个用 C# 编写的应用程序,它也调用了一些 C 代码。C# 代码获取一些 double 作为输入,对其执行一些计算,将其传递给对其执行自己的计算的本机层,然后传递回 C# 层。

如果我在不同的机器上运行相同的 exe/dll(它们都是 Intel 的 x64),我得到的最终结果是否可能在不同的机器上会有所不同?

0 投票
2 回答
2253 浏览

javascript - jQuery 和 long int id

我面临下一个问题:

在我们的数据库中,我们有带有 id 的对象,例如 4040956363970588323。我正在jQuery上编写一些客户端向导来与这些对象进行交互。客户端通过Ajax请求接收有关对象的基本数据,例如:

因此,如您所见,我发送JSON对象之类的数据(一些服务器代码):

根据Firebug,服务器在数据中发送正确的 id,而console.log(..)不是正确的 id (4040956363970588323),输出id 4040956363970588000

为什么会这样?

如果没有正确的 ID,任何机会,我的向导都会正常工作:)

0 投票
7 回答
930 浏览

c# - 为什么 (int)(33.46639 * 1000000) 返回 33466389?

(int)(33.46639 * 1000000)返回33466389

为什么会这样?

0 投票
4 回答
1266 浏览

delphi - Frac 函数失去精度

我有一个 TDateTime 变量,它在运行时被赋值为 40510.416667。当我使用 Frac 函数将时间提取到 TTime 类型变量时,它将其设置为 0.41666666666。为什么它改变了值的精度,是否有一种解决方法来保持原始值的精度,即。将其设置为 0.416667。

0 投票
4 回答
3407 浏览

floating-point - IEEE“双重”的精确文本表示

我需要以人类可读的文本形式表示 IEEE 754-1985 双(64 位)浮点数,条件是可以将文本形式解析回完全相同的(按位)数字。

如果不只打印原始字节,这可能/实用吗?如果是,将不胜感激执行此操作的代码。