gpt4 book ai didi

c# - 如何在 C# 中验证价格范围值

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:23 24 4
gpt4 key购买 nike

我正在为我的销售和库存添加 Material 。到目前为止,我需要验证在添加 Material 时,销售价格必须大于采购价格。

这是我的代码,我在 if/else 语句中遇到错误,其中我的 txtPurchasePrice 和 txtSellingPrice 的值为十进制 (18, 2)。


protected void btnAdd_Click(object sender, EventArgs e)
{
if (txtSellingPrice.Text >= txtPurchasePrice.Text)
{
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "INSERT INTO Materials VALUES (@UnitID, @Name, @SellingPrice, @PurchasePrice, " +
"@Description, @Available, @CriticalLevel, @Maximum, @Status, @DateAdded, @DateModified)";
cmd.Parameters.AddWithValue("@UnitID", txtUnitID.Text);
cmd.Parameters.AddWithValue("@Name", txtName.Text);
cmd.Parameters.AddWithValue("@SellingPrice", txtSellingPrice.Text);
cmd.Parameters.AddWithValue("@PurchasePrice", txtPurchasePrice.Text);
cmd.Parameters.AddWithValue("@Description", txtDesc.Text);
cmd.Parameters.AddWithValue("@Available", "0");
cmd.Parameters.AddWithValue("@CriticalLevel", txtCritical.Text);
cmd.Parameters.AddWithValue("@Maximum", txtMax.Text);
cmd.Parameters.AddWithValue("@Status", "Available");
cmd.Parameters.AddWithValue("@DateAdded", DateTime.Now);
cmd.Parameters.AddWithValue("@DateModified", DBNull.Value);
cmd.ExecuteNonQuery();
con.Close();
Helper.AddLog("1", "Add", "Added a new Material");
Response.Redirect("~/Materials/Default.aspx");
}
else
{
error.Visible = true;
}
}

我的错误

CS0019: Operator '>=' cannot be applied to operands of type 'string' and 'string'

为什么会这样 >=<=||<>是不能用?在这种情况下?

最佳答案

我假设 txtSellingPricetxtPurchasePriceTextBox 控件,因此它们的 Text 属性是 字符串。您不能使用 >= 因为它没有语义意义。您需要先将文本解析为 decimal:

var sellingPrice = decimal.Parse(txtSellingPrice.Text);
var purchasePrice = decimal.Parse(txtPurchasePrice.Text);

if (sellingPrice >= purchasePrice)
{
// stuff
}

如果您不确定文本是有效的 decimal 值,请使用 decimal.TryParse:

decimal sellingPrice;
if (!decimal.TryParse(txtSellingPrice.Text, out sellingPrice))
{
// Not a valid decimal, do something.
}

decimal purchasePrice;
if (!decimal.TryParse(txtPurchasePrice.Text, out purchasePrice))
{
// Not a valid decimal, do something.
}

if (sellingPrice >= purchasePrice)
{
// stuff
}

关于c# - 如何在 C# 中验证价格范围值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315800/

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