VBS中的clng/cint/round和经典ASP和VBA错误的round
如果整数部分是奇数,小数部分是5,那么即使结果是上升的,结果也会下降,为什么要使用ASP和VBS进行舍入 请自己试一试:VBS中的clng/cint/round和经典ASP和VBA错误的round,vba,vbscript,asp-classic,rounding,numeric,Vba,Vbscript,Asp Classic,Rounding,Numeric,如果整数部分是奇数,小数部分是5,那么即使结果是上升的,结果也会下降,为什么要使用ASP和VBS进行舍入 请自己试一试: a=1.5 wscript.echo clng(a) '---> 2 a=2.5 wscript.echo clng(a) '---> 2 a=3.5 wscript.echo clng(a) '---> 4 a=4.5 wscript.echo clng(a) '---> 4 a=5.5 wscript.ech
a=1.5
wscript.echo clng(a) '---> 2
a=2.5
wscript.echo clng(a) '---> 2
a=3.5
wscript.echo clng(a) '---> 4
a=4.5
wscript.echo clng(a) '---> 4
a=5.5
wscript.echo clng(a) '---> 6
a=6.5
wscript.echo clng(a) '---> 6
怎么可能呢?我还没有找到任何关于这个的文档。。。
对不起,问题是为什么默认VBS/ASP e VBA usr银行舍入
从当值的小数部分正好为
0.5
时,CLng
函数舍入到最接近的偶数。例如,0.5
轮到0
,1.5
轮到2
,3.5
轮到4
。四舍五入的目的
最接近的偶数用于补偿多个数字相加时可能累积的偏差
CLng
不同于Fix
和Int
函数,它们将数字的小数部分截断,而不是四舍五入
从当值的小数部分正好为
0.5
时,CLng
函数舍入到最接近的偶数。例如,0.5
轮到0
,1.5
轮到2
,3.5
轮到4
。四舍五入的目的
最接近的偶数用于补偿多个数字相加时可能累积的偏差
CLng
不同于Fix
和Int
函数,它们将数字的小数部分截断,而不是四舍五入
“我还没有找到任何关于这方面的文档”-我觉得这很难相信。你不希望它分别使用舍入。虽然不是VBScript(VBA,但差异很小),但这个答案很好地解释了这种行为-我认为默认情况下所有函数VBS/ASP和VBA都使用银行舍入是荒谬的。“我还没有找到任何关于这方面的文档”-我觉得这很难相信。您不希望它分别被循环使用。虽然不是VBScript(VBA,但差异很小)这个答案很好地解释了这种行为——我认为默认情况下,所有函数VBS/ASP和VBA都使用银行家取整是荒谬的。惊人!文档和您期望的准确位置!:oVBA提示供参考:惊人!文档和您期望的准确位置!:oVBA提示供参考: