vb.net(1.10)的百分比

vb.net(1.10)的百分比,vb.net,percentage,Vb.net,Percentage,我正在创建一个小应用程序,允许用户通过成本价*10%(例如利润)计算销售价格,结果将存储在销售价格中 dim saleprice as integer costprice = textbox1.text percent = textbox2.text saleprice = costprice * percent label1.text = saleprice 但问题是当用户在textbox2.text中输入10时,如果用户输入1.10,它将乘以100,那么结果将是正确的,但我想跳过这个“1”

我正在创建一个小应用程序,允许用户通过成本价*10%(例如利润)计算销售价格,结果将存储在销售价格中

dim saleprice as integer
costprice = textbox1.text
percent = textbox2.text
saleprice = costprice * percent
label1.text = saleprice

但问题是当用户在textbox2.text中输入10时,如果用户输入1.10,它将乘以100,那么结果将是正确的,但我想跳过这个“1”。因此用户将直接输入10或其他任何内容,但我不知道如何做,请帮助并提前感谢

您的代码有一个主要问题,但也有一些小问题

主要问题是您已经将saleprice定义为整数,因此它只能保存整数。我猜您还将
costprice
percent
定义为整数。相反,将它们全部定义为
Single
Double

还有转换类型的问题。您在文本框中输入的信息存储为字符串。在现实世界中,您必须确保
.Text
属性可转换为数值,然后再进行转换。使用当前的Visual Studio设置,转换是在后台完成的。这使初学者的生活更加轻松,但也鼓励了非常草率的编程

我建议更改编译器设置,使
选项严格
处于启用状态,
选项显式
处于启用状态,
选项比较
设置为二进制,而
选项推断
处于禁用状态

这将使编写代码变得更加困难,但从长远来看,这将节省您的时间并迫使您编写更好的代码

编辑:

我错过了你问题的关键部分-去掉“1”部分,只需输入百分比作为整数-这应该是你的代码

所以。。在其最简单且仍然容易出错的形式中,您的代码需要是

Dim costprice As Double
Dim percent As Double
Dim saleprice As Double
costprice = Val(TextBox1.Text)
percent = Val(textbox2.text)/100
saleprice = costprice * (1 + percent)
Label1.Text = saleprice.ToString

要将成本增加10%,只需在百分比文本框中输入10。要降低10%的成本,请输入-10。

请阅读并选择,并在所有代码文件的顶部添加
选项Strict On
…alwaysonc再次感谢您的帮助这对我有用:)