Label4.Text = CDec(TextBox1.Text) * 115
Label5.Text = CInt(Label4.Text)
我希望Label4
显示确切的数字和Label5
来显示没有小数的数字并向上舍入。
如果我在文本框中键入11,1,Label4
= 1276,5和Label5
= 1276(为什么向下舍入?)。
如果我输入11,3,Label4
= 1299,5和Label5
= 1300(完美)。
11,5向下舍入; 11,7被四舍五入......等等。
我怎么能这样做,5总是四舍五入? (我正在进行基于金钱的计算。)
如果您使用的是VB.NET,可以使用Math.Round
:
Label5.Text = = Math.Round(CDec(Label4.Text), MidpointRounding.AwayFromZero)
请注意,MidpointRounding.AwayFromZero
是必要的,因为Round
的默认行为是将X.5
舍入到最接近的偶数(例如1.5轮到2.0,但2.5轮到2.0)。
作为旁注,一个小的优化是将第一个表达式的结果存储在十进制变量中并重复使用它而不是再次解析Label4.Text
- 但我不希望这会减损实际的答案。