我有数字,我想将向上舍入到最接近的千位数(除非该数字已经四舍五入到最接近的千位数):
1,000 to 1,000.00
2,100.00 to 3,000.00
3,500.99 to 4,000.00
4,900 to 5,000.00
我该怎么做?
答案 0 :(得分:3)
答案 1 :(得分:0)
这里有一些伪代码(JS)来做。我可以解释一下这个算法,虽然不知道vbscript的语法。
首先,我们关心的唯一数字是最重要的数字,或千位数。所以我们首先通过将数字三位移到右边来隔离该数字。
2100 - > 2.100
然后我们使用ceiling函数强制小数舍入到下一个最接近的整数。
2.100 - > 3
现在我们可以重新移动剩下的三个位置,使其具有原始幅度。
3 - > 3000
vbscript可能有也可能没有上限函数(here's an implementation of one,其他函数是简单的数学运算。
function toNearestThousand(x) {
return Math.ceil(x/1000)*1000;
}