VB.Net中console.write(Format((87.20 \ 43.60)))返回1而非2的原因
为什么VB.NET代码
Format((87.20 \ 43.60))返回1而不是2? 这个问题的核心是你误用了VB.NET里的\运算符——它是整数除法运算符,和咱们日常用的普通除法/完全不是一回事!
咱们来一步步拆解原因:
\运算符的执行逻辑是:先把两个操作数四舍五入到最近的整数,再执行除法,最后只保留商的整数部分(直接舍去小数,不做四舍五入)。- 放到你的代码里:
87.20四舍五入到整数是8743.60四舍五入到整数是44- 现在执行整数除法:
87 \ 44,结果自然是1(毕竟44×1=44 ≤87,44×2=88已经超过87了,整数除法只会取商的整数部分)
如果想得到预期的2,只需要把整数除法换成普通除法运算符/就行,代码改成这样:
Console.Write(Format((87.20 / 43.60)))
因为87.20 / 43.60的结果正好是2,经过Format处理后就会返回你想要的结果啦。
内容的提问来源于stack exchange,提问作者Tyler Boughton
相关产品推荐
相关产品推荐

