首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.net将十进制数舍入到最近的整数

VB.net将十进制数舍入到最近的整数
EN

Stack Overflow用户
提问于 2022-02-18 08:57:42
回答 3查看 162关注 0票数 0

我是VB.net编码的新手,我想知道如何将十进制数乘以最接近的整数。X= (5-2/2) = 1.5,但我只需要1。

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2022-02-18 09:02:37

如果只想丢弃任何余数,则可以使用整数除法算子

代码语言:javascript
复制
Dim resultValue As Integer = (5-2) \ 2

请注意,这是VB.NET和C#之间的区别之一,在C#中,普通除法运算符将始终应用整数除法,因此放弃余数。

你还有其他选择:

代码语言:javascript
复制
resultValue = CInt(Math.Floor((5-2) / 2))
resultValue = CInt(Math.Round((5-2) / 2, MidpointRounding.ToZero))
票数 1
EN

Stack Overflow用户

发布于 2022-02-18 09:12:10

试试这个:

代码语言:javascript
复制
Math.Round( (5-2)/2, 0)

..and查看带有MidpointRounding参数的过载选项,当结果以.5结束时,可以将其设置为影响四舍五入。以下是一些可用的选项:

代码语言:javascript
复制
Math.Round((5 - 2) / 2, MidpointRounding.AwayFromZero)
Math.Round((5 - 2) / 2, MidpointRounding.ToEven)

检查文档 (或试错),看看哪一个最适合您的需求。

或者,如果您总是希望下面的整数或上面的整数,那么也可以签出Math.FloorMath.Ceiling函数。

票数 1
EN

Stack Overflow用户

发布于 2022-02-18 09:05:14

我想你可以用地板功能。例如,double floor(double x);,地板函数返回小于或等于x的最大整数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71170752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档