## digitalmars.D.learn - Unexpected ' ' when converting from type string to type int

• Michael S (45/45) Dec 29 2015 Hello, thanks for stopping in. I am fuddling through some
• Adam D. Ruppe (7/8) Dec 29 2015 Change that to
• Michael S (4/12) Dec 29 2015 Wow thank you Adam. I didn't expect to have a reply so quickly,
Michael S <mike nameen.com> writes:
```Hello,  thanks for stopping in. I am fuddling through some
exercises on a certain website, and I have come across a very
frustrating bug I can't seem to fix.

The Problem:
Given a square matrix of size N×N, calculate the absolute
difference between the sums of its diagonals.

Sample Input:
3
11 2 4
4 5 6
10 8 -12

First line is N, and the expected result of this example is 15.
If I hardcode in the value for N, this code works just peachy.
It's when I am trying to actually read in the value of the first
line from stdin that I am having a problem.

I seem to be unable to convert the string input to an integer to
use later on. The code:

import std.stdio, std.math, std.string, std.conv;

void main(){

//below I have commented out the offending call to to!int and
replaced it with a hardcoded value 3 in order to force it to work.
auto ms = 3;//matrix_size.to!int;
int[][] matrix = new int[][ms];
for(int i = 0; i < ms; i++){
foreach (num; string_nums){
auto value = num.to!int;
matrix[i] ~= value;
}
}

int primary_sum = 0;
int secondary_sum = 0;
int j = 0;
int i = ms - 1;
//determine diagonal sums
for(int row = 0; row < ms; ++row){
primary_sum += matrix[row][j];
secondary_sum += matrix[row][i];
++j;
--i;
}
auto result = abs(primary_sum - secondary_sum);
result.writeln;
}
```
Dec 29 2015
Adam D. Ruppe <destructionator gmail.com> writes:
```On Wednesday, 30 December 2015 at 01:36:56 UTC, Michael S wrote:

Change that to

spaces and the newline character at the end of the line too,
which is why to is throwing.

The .strip function will trim that whitespace off.
```
Dec 29 2015
Michael S <mike nameen.com> writes:
```On Wednesday, 30 December 2015 at 01:38:32 UTC, Adam D. Ruppe
wrote:
On Wednesday, 30 December 2015 at 01:36:56 UTC, Michael S wrote:

Change that to