numericUpDown 防止对 int 进行舍入
我在 C# 中使用 numericUpDown 来表示整数。但存在一个代表“大价值观”的问题。例如,如果我将 127 分配给 numericUpDown,它会正确显示。但是,如果我分配 12912347,它将四舍五入为 12912350。
如何避免 numericUpDown 舍入整数?
(numericUpDown 设置为:DecimalPlaces 0;最大值 4294967295;最小值 0)
I'm using numericUpDown with C# to represent integers. But there is a problem representing "big values". For instance if I assgin 127 to numericUpDown, it's displayed correctly. However, if I assign 12912347 it gets rounded to 12912350.
How can I avoid numericUpDown rounding integers?
(numericUpDown settings are: DecimalPlaces 0; Maximum 4294967295; Minimum 0)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
所有这些都是
十进制
值,它很容易涵盖您的范围。我也无法重现这个。因此,执行此类舍入的代码中的其他地方似乎存在问题。
All of the are
decimal
values and it easily covers your range. Also i'm not able to reproduce this.So it seems, that there is a problem somewhere else in your code that performs such a rounding.
无法重现该情况 (Fx 4)。
值、最小值和最大值都是
十进制
属性,因此应该不会有问题。Cannot reproduce that (Fx 4).
Value, Minimum and Maximum are all
decimal
properties so there should not be a problem.抱歉,确实是我的错误。我使用了一个调用,并完成了这样的操作:
浮点值= 12912347f;
numericUpDown1.Value = Convert.ToDecimal(值);
这种转换导致了舍入。
这个问题或许应该被删除。
sorry, my mistake indeed. I used an invoke and there sth like this was done:
float value = 12912347f;
numericUpDown1.Value = Convert.ToDecimal(value);
this conversion caused the rounding.
This question should probably be deleted.