【问题标题】:How to pass decimal value from textbox to parameter如何将十进制值从文本框传递到参数
【发布时间】:2011-05-01 21:48:48
【问题描述】:

我正在尝试创建一个保存 Button,它在 TextBox 控件中包含 2 个值,这些值在 sql 中被视为 currency。它们是TextBox 中的decimal。我如何传递价值?我试过这个无济于事:

decimal taxOpen = Convert.ToDecimal(taxOpenTextBox).Text;

任何有关正确语法的帮助都会很棒。

【问题讨论】:

    标签: c# textbox decimal currency


    【解决方案1】:

    您需要访问Text 属性。您还应该使用TryParse,它返回false,而不是在解析失败时抛出异常:

    decimal value;
    
    if(!decimal.TryParse(taxOpenTextBox.Text, 
                         NumberStyles.Currency, 
                         NumberFormatInfo.InvariantInfo, 
                         out value))
      MessageBox.Show("Please enter a valid number");
    

    需要的东西在System.Globalization找到。

    【讨论】:

    • 我尝试了上述方法,但它一直告诉我它不是一个有效的数字。框中的内容是 0.00 美元,因为这是默认值。 $ 会导致问题吗??
    【解决方案2】:

    您需要获取 taxOpenTextBox 的值,而不是框本身。

    【讨论】:

    • 糟糕,这是我的错,我试过了!无论哪种方式都行不通。
    • @korrowan:您在编辑问题中的语法:十进制 taxOpen = Convert.ToDecimal(taxOpenTextBox).Text;将寻找什么都没有的 Text 属性——您仍在将文本框本身发送到 ToDecimal 方法。 “.Text”必须放在括号: ... (taxOpenTextBox.Text)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2015-04-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多