问题标签 [rounding]
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.
perl - 如何解决导致 Perl 的 Statistics::Descriptive 中的无限循环的舍入错误?
我正在使用 Perl 中的Statistics::Descriptive库来计算频率分布并遇到浮点舍入误差问题。
我将两个值 0.205 和 0.205(取自其他数字并 sprintf'd 到那些)传递给 stats 模块并要求它计算频率分布,但它陷入了无限循环。
使用调试器单步执行,我可以看到它正在执行以下操作:
$self->sample_range (范围是 max-min)返回 2.77555756156289e-17 而不是我期望的 0。这意味着循环 ((min+=range) < max)) 进入(出于所有意图和目的)无限循环。
DB<8> 打印 $self->{max};
0.205
DB<9> 打印 $self->{min};
0.205
DB<10> 打印 $self->{max}-$self->{min};
2.77555756156289e-17
所以这看起来像一个舍入问题。不过,我想不出如何解决这个问题,而且我不确定编辑库是个好主意。我正在寻找解决方法或替代方法的建议。
干杯,尼尔
c++ - 正确格式化有错误的数字 (C++)
我有三组数字,一个测量值(在 0-1 范围内),两个错误(正数和负数)。这些数字应该与有效数字的数量一致,四舍五入,对应于第一个非任何一个数字中的零条目。
如果它是一个,则在测量中跳过此要求(即只需要考虑误差中的数字)。例如:
现在,通过取 log10(num) 很容易获得第一个非零数字,但我有一个愚蠢的时刻,试图让剥离和舍入以一种干净的方式工作。
所有数据类型都是双精度的,选择的语言是 C++。欢迎所有和任何想法!
.net - 为什么 Math.Round(2.5) 返回 2 而不是 3?
在 C# 中, 的结果Math.Round(2.5)
是 2。
应该是3吧?为什么在 C# 中是 2?
sql - SQL Server 自动舍入?
我对以下结果感到非常困惑:
控制台结果 = 0.01745329251994329500
控制台结果 = 0.0174533
我不明白,因为提到这个:
http://msdn.microsoft.com/en-us/library/ms131092.aspx
Sql Server Float 应该等同于 c# double。但是当我在 c# 中计算它时:
我得到 0.017453292519943295 ......
c++ - 舍入双打 - .5 - sprintf
我正在使用以下代码舍入到 2dp:
它成功地将 6.666 舍入到 6.67,但在舍入 5.555 时无法正常工作。它返回 5.55,而它应该(至少在我看来)返回 5.56。
当下一个数字是 5 时,我怎样才能让它四舍五入?即返回 5.56。
编辑:我现在意识到这种情况正在发生,因为当我用 cin 输入 5.555 时,它被保存为 5.554999997。
我将尝试分两个阶段进行舍入——首先到 3dp,然后到 2dp。还有其他(更优雅)的想法吗?
sql - SQL Round 函数不起作用,有什么想法吗?
这是 SELECT 语句:
关于为什么不四舍五入到小数点后两位的任何想法?
matlab - MATLAB - 地板问题
我是 MATLAB 初学者。这是问题所在:
c 应该是 1,对吧?为什么是0???
直接输入b = 2时不同,如下:
c# - Excel RoundUp 与 .NET Math.Round
在 Excel 中,=ROUNDUP(474.872126666666, 2)
-> .NET 中的 474.88
,
我的客户想要 Excel 舍入结果,有什么方法可以在 .NET 中获得 474.88?
非常感谢
java - 是否有任何 Java 函数或 util 类以这种方式进行舍入:func(3/2) = 2?
是否有任何 Java 函数或 utilclass
以这种方式进行舍入:func(3/2) = 2
Math.ceil()
没有帮助,按名称应该这样做。我知道BigDecimal
,但不需要它。
sql - SQL 轮函数
round(45.923,-1)
结果为 50。这是为什么呢?它是如何计算的?
(对不起,我误认为这个问题的早期版本表明价值是 46)