问题标签 [bankers-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.

0 投票
1 回答
1163 浏览

postgresql - 如何在 Postgresql 中使用银行家的舍入模式?

我试图搜索,但我似乎无法在 Postgresql 中找到银行家舍入模式的实现。我发现这个线程试图在 T-SQL https://www.sqlservercentral.com/Forums/Topic246556-8-1.aspx中创建一个实现。

例如,Andrew Vasylevskyy 很好地给出了一些银行家舍入的例子(.NET 中 Math.Round 的结果):

基于这个线程PostgreSQL round(v numeric, s int)似乎没有办法将默认round()函数配置为使用特定模式并且它不使用银行家的舍入模式。我确实看到有 around_half_even或 around_half_odd但我的理解是它与银行家的四舍五入不同。

是否有人创建了执行此操作的功能,或者是否有可以添加的扩展来执行此操作?

0 投票
1 回答
626 浏览

excel - 为什么 Excel VBA 中的银行家舍入函数会根据小数位数给出不同的结果?

我正在尝试使用我在本论坛其他地方找到的这个方便的代码在电子表格中使用 VBA Round() 函数:

但我对这些结果感到惊讶(全部使用 2 个小数位)

有人可以解释为什么结果不同吗?

0 投票
3 回答
729 浏览

python - Python 在数据框问题上四舍五入

下午好,

我想使用round half up函数将数据框中的列四舍五入到x个位置,以确保任何0.5值始终按照传统的舍入规则四舍五入,并避免“银行家四舍五入”问题。

我拥有的数据框示例是:

我得到的代码不起作用,如下所示:

产生以下错误:不支持从系列到小数的转换。

数据框的 Dtypes 是:

任何人都有任何线索我怎样才能让它工作?(当然数据框要大得多,因此我需要在列上工作)。

非常感谢您提前为此提供的帮助。

0 投票
1 回答
58 浏览

python - Python中所有列值的舍入错误

下午好,

我在下面复制了一段有用的代码,它似乎适用于我的虚拟数据,可惜它不适用于所有值,因为它沿着列数据向下移动。

代码是:

虚拟数据:

但是,输出适用于第一个值,而不是向下舍入,而不是向上舍入。这可以解决吗,因为正如他的代码所述,我想四舍五入?

任何帮助将非常感激。我正在寻找四舍五入到 3.dp,其中所有值都根据 excel 向上舍入一半。

谢谢你。

0 投票
1 回答
88 浏览

java - 为什么 DecimalFormat 舍入不一致?

为什么这会将小数部分四舍五入到 .44 并且当我将变量 n 切换到double n=12323233.415;它时四舍五入到 .42 。为什么?并且 deicmal 前面的 # 是否与我有多少位数有关,因为即使我只有 1 磅符号,它似乎仍然会打印出整个数字。

谢谢