vb.net在文本框中使用货币值

vb.net在文本框中使用货币值,vb.net,formatting,currency-formatting,Vb.net,Formatting,Currency Formatting,我的应用程序中有一个简单的表单,用于添加订单 它包含两个文本框控件,“neworder\u costprice”和“neworder\u saleprice”。 我还有一个滑块控件,markup_percent',可以是0到100之间的值,增量为10 我正在尝试这样做,如果用户在“1.20”中键入,例如在costprice文本框中,saleprice文本框将自动填充costprice+markup_percent的值 我尝试了几种不同的方法来让它工作,但似乎没有什么想为我做!有人能指出我的错误吗

我的应用程序中有一个简单的表单,用于添加订单

它包含两个文本框控件,“neworder\u costprice”和“neworder\u saleprice”。 我还有一个滑块控件,markup_percent',可以是0到100之间的值,增量为10

我正在尝试这样做,如果用户在“1.20”中键入,例如在costprice文本框中,saleprice文本框将自动填充costprice+markup_percent的值

我尝试了几种不同的方法来让它工作,但似乎没有什么想为我做!有人能指出我的错误吗

以下是我当前在costprice.valuechanged上调用的“workoutsaleprice()”函数的代码

tech_neworder_costprice.Text = String.Format("{0:n2}", neworder_costprice.Text)           

Dim costprice As Double = neworder_costprice.Text
Dim markup As Integer = percent_slider.Value

Dim saleprice As Double = ((costprice / 100) * markup) + costprice
neworder_saleprice.Text = saleprice.ToString

使用
NumericUpDown
进行数字输入,而不是使用
文本框
。验证是自动处理的,因此保证不会有非数值


您可以使用Decimal类型的
NumericUpDown.Value
属性来执行数字操作。

当您将输入限制为数字时,应使用
NumericUpDown
。否则,您如何处理诸如
1..20
之类的错误?我将在提交时进行验证。。。如果数据不正确,则不提交,并给用户一个错误,告诉用户sort yourself out:)好的,您可以这样做,但这会增加复杂性。这就是《数字上下》的主题:)。维多利诺,你这个美人!这真是个绝妙的把戏!您想将您的答案添加为答案,这样我就可以勾选它,您就可以获得学分了吗?:)不,我是这样的。如果您还有其他问题,请发布并链接到它,我会试一试。非常感谢Verdolino:)