我要做的就是创建一个简单的付费计算器。用户键入其baseSalary,totalSales和commissionRate。程序运行得很好,但是totalPay没有正常运行。任何帮助都是极好的。这很可能只是一个简单的修复,但因为这只是我VB类的第二天,所以我无法解决这个问题。提前感谢您提供任何帮助!
' Total Pay Calculator
' By: Jeremy Flaugher
' 01/17/2013
Module myPay
Sub Main()
' Declare the variables
Dim baseSalary As Integer
Dim totalSales As Integer
Dim commissionRate As Decimal
Dim totalPay As Integer
' Title and By line
Console.Out.WriteLine("Welcome to the Paycheck Calculator")
Console.Out.WriteLine("Created by Jeremy Flaugher" & vbCrLf)
' User Prompts
Console.Out.Write("Please enter your Base Salary: $")
baseSalary = Console.In.ReadLine()
Console.Out.Write("Please enter your number of sales: ")
totalSales = Console.In.ReadLine()
Console.Out.Write("Please enter your Commission Rate in decimal form: ")
commissionRate = Console.In.ReadLine()
' Processes
totalPay = (totalSales * commissionRate) + baseSalary
Console.Out.WriteLine("Your paycheck will total: " & (FormatCurrency(totalPay)))
Console.ReadKey()
End Sub
End Module
我在运行程序后检查计算器上的输出。假设我输入100美元作为基本工资,5作为销售数量,和.5作为佣金率。在计算器上,我得到的总薪水是102.5美元,但运行程序的时候我得到的是102.00美元。我该如何解决这个问题。
答案 0 :(得分:2)
首先,我会将Option Strict On放在您的模块顶部,这是一个很好的做法,可以帮助您解决为什么事情不正确。在您的情况下,我相信您的问题是您使用小数作为计算的一部分,但您将结果放入整数。尝试将totalPay声明为十进制。
从上面链接使用Option Strict的好处:
将Option Strict设置为On时,Visual Basic会检查是否为所有编程元素指定了数据类型。可以显式指定数据类型,也可以使用本地类型推断指定数据类型。建议为所有编程元素指定数据类型,原因如下: