VBScript:将数字四舍五入到最接近的千

VBScript:将数字四舍五入到最接近的千,vbscript,rounding,Vbscript,Rounding,我有一些数字要向上舍入到最接近的千(除非该数字已经舍入到最接近的千): 1000到1000.00 2100.00至3000.00 3500.99至4000.00 4900至5000.00 我该怎么做 这里有一些伪代码(JS)来实现这一点。我可以解释算法,虽然不知道vbscript语法 首先,我们唯一关心的数字是最重要的数字,或千位。所以我们首先通过将数字3移到右边来隔离这个数字 2100->2.100 然后我们使用一个上限函数强制小数点向上取整到下一个最接近的整数 2.100->3 现在我们可

我有一些数字要向上舍入到最接近的千(除非该数字已经舍入到最接近的千):

1000到1000.00
2100.00至3000.00
3500.99至4000.00
4900至5000.00
我该怎么做

这里有一些伪代码(JS)来实现这一点。我可以解释算法,虽然不知道vbscript语法

首先,我们唯一关心的数字是最重要的数字,或千位。所以我们首先通过将数字3移到右边来隔离这个数字

2100->2.100

然后我们使用一个上限函数强制小数点向上取整到下一个最接近的整数

2.100->3

现在我们可以把数字移到左边的三个位置,使其保持原来的大小

3->3000

vbscript可能有也可能没有上限函数(,其他函数都是简单的数学运算

function toNearestThousand(x) {
    return Math.ceil(x/1000)*1000;
}
下面是一些伪代码(JS),我可以解释算法,虽然我不知道vbscript语法

首先,我们关心的唯一一个数字是最重要的数字,即千位。因此,我们首先通过将数字三位向右移动来隔离该数字

2100->2.100

然后我们使用一个上限函数强制小数点向上取整到下一个最接近的整数

2.100->3

现在我们可以把数字移到左边的三个位置,使其保持原来的大小

3->3000

vbscript可能有也可能没有上限函数(,其他函数都是简单的数学运算

function toNearestThousand(x) {
    return Math.ceil(x/1000)*1000;
}
这似乎有效:

-Int(-[cost]/1000)*1000

这里有一个相关问题:

这似乎有效:

-Int(-[cost]/1000)*1000


这里有一个相关的问题:

Excel的等价物似乎是
=-INT(-A1/1000)*1000
,python的等价物似乎是
-(!cost!//1000)*1000
。这是在Oracle SQL中如何实现的:
ceil(cost/1000)*1000
Excel的等价物似乎是
=-INT(-A1/1000)*1000
而python的等价物似乎是
-(!cost!//1000)*1000
。这就是它在Oracle SQL中的实现方式:
ceil(cost/1000)*1000