gpt4 book ai didi

c# - NumericUpDown.Value 未四舍五入到 DecimalPlaces

转载 作者:行者123 更新时间:2023-12-03 02:56:22 29 4
gpt4 key购买 nike

假设我有一个带有 DecimalPlaces = 2 的 NumericUpDown 。

用户输入“1.233”(他们不知道自己意外地点击了“3”键两次),然后离开了控件。该输入现在在控件中显示为“1.23”。但是, Value 属性现在为 1.233 。因此,在用户看来,他们正在使用值 1.23,而实际上,他们正在使用值 1.233。有没有办法让 NumericUpDown 返回“正确”值:1.23?

我知道 DecimalPlaces 属性“...设置要显示的小数位数”,但用户无法通过简单地阅读屏幕来确定将使用什么值。

一种方法是始终忽略所有 NumericUpDowns 的 Value 属性,而只使用 Text 属性(从 IntelliSense 中隐藏)并对该属性执行 Decimal.Parse() - 但这看起来很尴尬。另一点是,如果用户键入“1.233”,然后离开控件,则当 ValueChanged 事件发生时,Text 属性仍然是“1.233”。

最佳答案

是的。验证事件对于调整数据输入总是有用的。像这样:

    private void numericUpDown1_Validating(object sender, CancelEventArgs e) {
numericUpDown1.Value = Math.Round(numericUpDown1.Value,
numericUpDown1.DecimalPlaces, MidpointRounding.AwayFromZero);
}

关于c# - NumericUpDown.Value 未四舍五入到 DecimalPlaces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21811303/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com