问题标签 [double]

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 投票
12 回答
59198 浏览

c# - 我什么时候应该使用双精度而不是十进制?

我可以说出使用double(or float) 而不是 的三个优点decimal

  1. 使用更少的内存。
  2. 更快,因为处理器本身支持浮点数学运算。
  3. 可以表示更大范围的数字。

但这些优势似乎只适用于计算密集型操作,例如建模软件中的那些。当然,当需要精度时,不应该使用双精度数,例如财务计算。那么有任何实际的理由选择double(或float)而不是decimal“正常”应用程序吗?

编辑补充:感谢所有伟大的回应,我从他们那里学到了。

还有一个问题:一些人指出双精度数可以更准确地表示实数。当声明时,我认为它们通常也更准确地代表它们。但是,当执行浮点运算时,准确度可能会降低(有时会显着降低),这是一个真实的说法吗?

0 投票
9 回答
65282 浏览

mysql - 没有双重查询的MySQL分页?

我想知道是否有办法从 MySQL 查询中获取结果数量,同时限制结果。

分页的工作方式(据我所知),首先我做类似的事情

在我得到 num_rows(query) 之后,我就有了结果的数量。但是为了实际限制我的结果,我必须执行第二个查询,例如:

我的问题:是否有既要检索将给出的结果总数,又要限制在单个查询中返回的结果?或者任何更有效的方式来做到这一点。谢谢!

0 投票
3 回答
6633 浏览

c++ - 在 C++ 中将 Double 转换为字符串

我在尝试将双精度转换为 C++ 字符串时遇到一些问题。这是我的代码

我遇到的问题是,是否将双精度作为“10000000”传入。那么返回的字符串值为 1e+007

我怎样才能得到字符串值为“10000000”

0 投票
4 回答
1473 浏览

c# - 为什么 double 和 float 存在?

复制

我什么时候应该使用双精度而不是十进制?

.. 还有很多...

由于它们的准确性,我们在整个应用程序中使用 C# 和 SQL Server 十进制数据类型。从来没有遇到过任何令人讨厌的问题,即总数不等于细节等。

我想知道为什么 double 和 float 存在,因为它们不准确

0 投票
5 回答
6955 浏览

c# - 双精度

我有一个代码,但我不明白。我正在开发一个精度非常重要的应用程序。但它对 .NET 并不重要,为什么?我不知道。

但消息框显示:3.5 请帮帮我,谢谢。

0 投票
5 回答
8810 浏览

.net - 如何从 TimeSpan 生成双精度值

我必须计算相对时间

接下来我想将 relativeTime 转换为应该由秒和毫秒(seconds.milliseconds)组成的双精度值。

有谁知道从时差中产生这种双重价值的最佳方法是什么?

谢谢!

0 投票
2 回答
900 浏览

double - 双打除法不准确(Visual C++ 2008)

我有一些代码可以将 QueryPerformanceCounter 返回的时间值转换为以毫秒为单位的双精度值,因为这样计算起来更方便。

该函数如下所示:

我最近遇到的问题(我认为我之前没有遇到过这个问题,并且没有对代码进行任何更改)是结果不是很准确。结果不包含任何小数,但精确度甚至低于 1 毫秒。

当我在调试器中输入表达式时,结果与我预期的一样准确。

我知道双精度不能保持 64 位整数的精度,但此时,PerformanceCounter 只需要 46 位(双精度应该能够存储 52 位而不会丢失)此外,调试器使用似乎很奇怪用不同的格式来做除法。

这是我得到的一些结果。该程序在调试模式下编译,C++ 选项中的浮点模式设置为默认值(精确 (/fp:precise) )

有谁知道为什么调试器 Watch 中的精度与我的程序中的结果不同?

更新:在进行转换和除法之前,我尝试从 timerPerformanceCounter.QuadPart 中减去 30270310439445,现在它在所有情况下似乎都是准确的。也许我现在只看到这种行为的原因可能是因为我的计算机的正常运行时间现在是 16 天,所以值比我习惯的要大?所以这似乎是一个大数字的划分精度问题,但这仍然不能解释为什么在 Watch 窗口中划分仍然正确。它的结果是否使用比双精度更高的类型?

0 投票
10 回答
261251 浏览

java - 将 float 转换为 double 而不会丢失精度

我有一个原始浮点数,我需要一个原始双精度数。简单地将浮点数转换为 double 会给我带来奇怪的额外精度。例如:

但是,如果不是强制转换,而是将浮点数输出为字符串,并将字符串解析为双精度字符串,我会得到我想要的:

有没有比去字符串和返回更好的方法?

0 投票
4 回答
40702 浏览

c++ - 如何在 C++ 中将 CString 转换为 double?

如何在 C++ 中将 a 转换CString为 a ?double

Unicode 支持也会很好。

谢谢!

0 投票
4 回答
804 浏览

c++ - 为什么引用一些导出的 const 变量的一些 const 变量的值是 0?

考虑以下。我有两个导出的常量,如下所示:

这些常量现在在其他地方引用以定义两个静态(本地可见)常量:

产生以下输出:

为什么第二个双0?我正在使用 .NET 2003 C++ 编译器(13.10.3077)。