问题标签 [floating-point]

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 投票
5 回答
18035 浏览

javascript - JavaScript 中的 ParseFloat 函数

当我添加两个文本框值1.0010.001然后我做一个parseFloat我得到1.0019999999。我想要它1.002。你能帮助我吗?

0 投票
14 回答
18167 浏览

floating-point - 为什么我看到一个双变量初始化为 21.4 之类的某个值作为 21.399999618530273?

在调试器中,这些显示为11.63100000000000021.399999618530273

我怎样才能避免这种情况?

0 投票
14 回答
362912 浏览

perl - 你如何在 Perl 中对浮点数进行四舍五入?

如何将十进制数(浮点数)四舍五入到最接近的整数?

例如

0 投票
3 回答
2549 浏览

visual-c++ - 用 gmp 添加浮点数会给出“正确”的结果,有点像

在下面的代码中,我使用mpf_add添加两个浮点值的字符串表示。我现在不明白的是为什么2.2 + 3.2 = 5.39999999999999999999999999999999999999。我会认为这gmp是足够聪明的给予5.4

我不理解 gmp 如何浮动?

(顺便说一句,当我第一次写这篇文章时,我不确定如何插入小数点,因此最后是加/减数字)

0 投票
6 回答
8180 浏览

delphi - 在 Delphi 中比较货币值时如何避免舍入问题?

AFAIK,Delphi Win32 中的货币类型取决于处理器浮点精度。因此,我在比较两个货币值时遇到了舍入问题,根据机器返回不同的结果。

现在我使用传递 Epsilon 参数 = 0.009 的 SameValue 函数,因为我只需要 2 个十进制数字精度。

有没有更好的方法来避免这个问题?

0 投票
2 回答
2079 浏览

java - 如何防止浮点数和双精度数在 Java 和 C 中被截断?

当我给 Java 和 C 提供大的浮点数和双精度数(在十亿范围内)时,它们会将它们转换为科学计数法,从而在此过程中失去精度。我怎样才能阻止这种行为?

0 投票
2 回答
1586 浏览

c++ - 任何可用于在浮点表示之间转换的 C++ 库?

我最近需要解释 DEC 32 位浮点表示。它与 IEEE 浮点表示法的不同之处在于分配给指数和尾数的位数。

这是一堆浮点格式的描述:

http://www.quadibloc.com/comp/cp0201.htm

我设法滚动自己的 C++ 代码,将 DEC 32 位浮点数填充到 IEEE 32 位浮点数中,但想知道是否有任何库已经解决了这种转换以及其他问题。

我检查了boost.org但在那里没有看到任何东西。

0 投票
3 回答
3851 浏览

c# - C# - 是否有 32 位浮点数学库?

我打算用 c# 而不是 c++(使用 SlimDX)来做我的下一个项目。

所有的 directX 都使用浮点数,但是 System.Math 使用双精度数。这意味着在浮点数和双精度数之间不断转换。

所以理想情况下,我想使用浮点数编写所有代码,因为无论如何我都没有得到任何额外的精度从双精度转换为浮点数......

但是,我一直无法找到一组使用浮点数的 .net 数学函数。我当然可以用 c# 编写自己的库,但我宁愿使用已经优化的现有库等...

0 投票
7 回答
432 浏览

.net - double in .net

If I have the following code (this was written in .NET)

Why doesn't i equal 0.3?
Any ideas?

0 投票
6 回答
33770 浏览

c++ - 在 C++ 中使用 NaN?

在 C++ 中使用 NaN 的最佳方法是什么?

我发现std::numeric_limits<double>::quiet_NaN()std::numeric_limits<double>::signaling_NaN()。我想signaling_NaN用来表示一个未初始化的变量,如下所示:

但是,这会在分配时发出信号(引发异常)。我希望它在使用时引发异常,而不是在分配时。

有什么方法可以在signaling_NaN不引发分配异常的情况下使用?是否有一个好的、可移植的替代方案在signaling_NaN使用时会引发浮点异常?