.net - 谁能帮我获取 math.round() 以获得以下输出

标签 .net vb.net rounding

DecimalValue = (Math.Round(varDecimal/8, 1)

'varDecimal' 的值将保持变化,但在小数点后的输出中我只需要 #.0 或 #.5

例如

9/8 =1.1 --> 但我需要这个 1.5
11/8 =1.4 --> 但我需要这个 1.5
21/8 =2.6 --> 但我需要这个 3.0
27/8 =3.4 --> 但我需要这个 3.5
33/8 =4.1 --> 但我需要这个 4.5
39/8 =4.9 --> 但我需要这个 5.0
45/8 =5.6 --> 但我需要这个 6.0

想法是小数点后大于 0 应四舍五入为 .5,大于 .5 应四舍五入为 1

最佳答案

这是它在 C# 中的样子,但它应该很容易移植到 VB.Net:

http://goo.gl/ztLJC2

Math.Ceiling((double)value * 2) / 2 

关于.net - 谁能帮我获取 math.round() 以获得以下输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31502366/

相关文章:

c# - 如何在 WCF 服务中使用 RequestContext 映射路径

.net - 从Resources.resx创建一个图标

c# - 如何将图像转换为字符流

c# - 有没有人有从 .Net 应用程序控制多个 Excel 实例的好例子?

algorithm - 四舍五入到任意数量的有效数字

python - 在python中构造一个从大到小的整数列表

iphone - ios 中的金额值截断

c# - 日期时间格式问题

c# - Bot Framework 的 context.Wait() 不等待用户输入

c# - 管理多个环境的设置?