You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.Net中console.write(Format((87.20 \ 43.60)))返回1而非2的原因

为什么VB.NET代码Format((87.20 \ 43.60))返回1而不是2?

这个问题的核心是你误用了VB.NET里的\运算符——它是整数除法运算符,和咱们日常用的普通除法/完全不是一回事!

咱们来一步步拆解原因:

  • \运算符的执行逻辑是:先把两个操作数四舍五入到最近的整数,再执行除法,最后只保留商的整数部分(直接舍去小数,不做四舍五入)。
  • 放到你的代码里:
    • 87.20四舍五入到整数是87
    • 43.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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:40:52