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总是四舍五入? (我正在进行基于金钱的计算。)
答案 0 :(得分:2)
如果您使用的是VB.NET,则可以使用Math.Round
:
Label5.Text = = Math.Round(CDec(Label4.Text), MidpointRounding.AwayFromZero)
请注意MidpointRounding.AwayFromZero
是必要的,因为Round
的默认行为是将X.5
舍入到最近的偶数号码(例如1.5轮到2.0,但是2.5轮 down 到2.0)。
作为旁注,一个小的优化是将第一个表达式的结果存储在十进制变量中并重用它而不是再次解析Label4.Text
- 但我不想要那个减损实际答案。