问题标签 [significant-digits]

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 投票
3 回答
4121 浏览

.net - 有没有办法获得小数的“重要数字”?

更新

好的,经过一番调查,在很大程度上要感谢 Jon 和 Hans 提供的有用答案,这就是我能够整理出来的。到目前为止,我认为它似乎运作良好。当然,我不会赌它的完全正确性。

我还没有彻底测试它。不过,这里有一些示例输入/输出:

使用此代码,我想我会通过执行以下操作来实现我的目标:

不过,我还没有真正完成这个工作。任何想分享想法的人:将不胜感激!


原始问题

假设我写了这段代码:

以上将输出:

我发现如果我使用decimal.Parse("1.23")foradecimal.Parse("1.23000")for这也有效b(这意味着这个问题适用于程序接收用户输入的情况)。

很明显,一个decimal值以某种方式“意识到”了我所说的精度decimal但是,除了ToString自身之外,我没有看到该类型的成员提供任何访问方式。

假设我想将两个decimal值相乘并将结果修剪到不太精确的参数的精度。换句话说:

上述输出:

我要问的是:我怎么能写一个返回的方法21.73(因为123.4M有四个有效数字)?

明确一点:我意识到我可以调用ToString这两个参数,计算每个字符串中的有效数字,并使用这个数字对计算结果进行四舍五入。如果可能的话,我正在寻找一种不同的方式。

(我意识到,在您处理有效数字的大多数情况下,您可能不需要使用该decimal类型。但我问是因为,正如我在开头提到的那样,该decimal类型似乎包含有关精度,而double据我所知没有。)

0 投票
1 回答
4179 浏览

precision - 有没有办法在 Octave 中打印至少 20 个有效数字?

我需要打印一个包含 20 个有效数字的程序的结果,但我不知道如何打印超过 15 个数字(格式长)。有什么办法可以做到这一点?

0 投票
4 回答
8619 浏览

c# - 防止 double.Parse 删除小数点后的尾随零?

使用 double.Parse 时,它​​似乎喜欢从我正在转换的字符串中删除任何尾随(无关紧要的)零。我希望 double.Parse 保留小数点后的位置。例如,这里有一些代码:

调试器然后写入

将 4.00 转换为 4

所以看起来 double.Parse在这里做了一些可疑的事情。PS MouseSensitivity 也是 double 类型,所以我不能对其进行任何字符串操作。

0 投票
2 回答
3424 浏览

java - 在 Java/Android 中将双倍格式设置为至少一位有效数字

我有一个 DecimalFormat 对象,当我显示它们时,我用它来将所有双精度值格式化为一组数字(比如说 2)。我希望它通常格式化为 2 位小数,但我总是想要至少一个有效数字。例如,如果我的值为 0.2,那么我的格式化程序会吐出 0.20,这很好。但是,如果我的值是 0.000034,我的格式化程序会吐出 0.00,我希望我的格式化程序吐出 0.00003。

Objective-C 中的数字格式化程序非常简单,我可以将我想显示的最大位数设置为 2,将有效位数的最小位数设置为 1,它会产生我想要的输出,但我该怎么做爪哇?

我感谢任何人可以为我提供的任何帮助。

凯尔

编辑:我有兴趣将值四舍五入,因此 0.000037 显示为 0.00004。

0 投票
7 回答
38394 浏览

c++ - C++ 有效数字

如何在 C++ 中进行涉及有效数字的数学运算?我希望它能够正确处理来自化学和物理实验的测量数据。一个例子:65 / 5 = 10。我需要去掉不需要的小数位并用 0 替换一些数字。

谢谢!

0 投票
8 回答
4021 浏览

php - 如何在php中四舍五入到最接近的有效数字

有没有什么巧妙的方法可以四舍五入到 php 中最接近的有效数字?

所以:

?

0 投票
2 回答
2821 浏览

sql-server-2005 - SQL Server 有效数字

我有一个变量,我想在小数点左侧返回最大 5,并且始终在右侧返回 3

现在变量定义为

这总是返回类似

我想我可以用左函数解决我的问题,但我的问题是为什么会发生这种情况。如果定义了十进制的最小变量@OneThousand,是 3,返回值不应该有 3 个小数吗?

0 投票
1 回答
664 浏览

java - BigDecimal 的高级舍入选项

我正在编写一个程序,该程序必须对非常大且精确的数字进行舍入(可能比 double 可以处理的有效数字多得多),并且正在使用 BigDecimals。

有没有办法根据位置而不是有效数字进行 BigDecimal 回合?

也就是说,我需要 0.5 来舍入到 1 和 0.4 来舍入到 0,但是由于它们是相同数量的有效数字,BigDecimal 拒绝对它们中的任何一个进行舍入。

0 投票
2 回答
200 浏览

r - R 图例中的值缩短为 Ne+n 形式

我们正在尝试使用 R 打印一些芬兰林业地图。地图绘制得很好,但图例中的一些数字没有完整显示,而是以 3e+06 格式显示。

当图例中的行大小太长时,似乎会发生这种情况。对于某些用户来说,这可能是个问题。

我一直在寻找如何更改它以显示完整的数字。任何解决此问题的想法将不胜感激,因为我已经为此奋斗了好几天。来源如下。

0 投票
1 回答
2391 浏览

objective-c - 用有效数字四舍五入

在 iPhone 的 Xcode /Objective-C 中。

我有一个值为 0.00004876544 的浮点数。我如何让它在第一个有效数字之后显示到小数点后两位?

例如,0.00004876544 将读取 0.000049。