I'm making a basic tax calculator which has to read from two lines in a text file using ReadLines, then split() these by the comma and use these numbers for calculations. I can read and split the file fine, but actually referencing the split data for use in calculations isn't working as I'd hoped. The text file is something like this:
500, 600, 700, 800, 900
0.1, 0.2, 0.3, 0.4, 0.5
And this is my code so far:
private void btnCalculateEmployeeTax_Click(object sender, EventArgs e)
{
string[] rates = File.ReadLines(@"E:\\path.txt").ToArray();
string str1 = rates[0], str2 = rates[1];
string[] income = str1.Split(',');
string[] tax = str2.Split(',');
int wages = 40*int.Parse(txtHourlyRate.Text);
if (wages < income[0])
{
MessageBox.Show("Less than 500");
MessageBox.Show ("Total tax is $" + (wages*tax[0]));
}
else
{
MessageBox.Show("More than 500");
}
Obviously it's the code within the if/else statement that is kicking the error - this just gives you an idea of how I want to use the numbers. Is there a way to assign each number from the text file to a local variable? Or is there a work around for what I'm attempting here?
Apologies in advance for the rookie question.
You can convert array to strings to array of ints. You can do this like this
var result = income.Select(int.Parse).ToArray();
First if you wanna fix this you need to conver string
into int
if (wages < int.Parse(income[0]))
{
MessageBox.Show("Less than 500");
MessageBox.Show ("Total tax is $" + (wages*tax[0])); <- the same problem will be here
}
But I think it will be better to create array of double
instead of string
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.