I like the idea, but my problem was to convert Real into String.
That to me was totally unclear from your post.
I have another observation about your code.
For each line you calc the binomial co-efficients and you use floating point arithmatic to do so.
This of course will fail for larger numbers (due to rounding errors and the inherit nature of floating point numbers on a binary system).
I understand why you use floats, because even 64-bit integers will overflow rapidly when using them to calculate factorials.
However, when you
always calculate/display the entire Pascal triangle (up to some level n), there is no need to do so.
You can construct all numbers by adding (which is way faster than floating point calculations): each number in a row is constructe by adding the 2 nodes diagonally above them.
Consider the first 3 rows
1
1 1
1 2 1
You can construct the 4th row: 1 (=0+1), 3 (=1+2), 3 (=2+1) and 1 (=1 + 0)
So, as long as you remember the last row (call it R) you calculated, you can calculate the next: 0+R[1], R[1]+R[2], R[2]+R[3], .. R[n-1]+R[n], R[n]+0.
Notice that 0+R1 will always be equal to 1, as is R[n+0]
Also notice that you only have to calculate half of the row, since R[k] = R[n-k].
Constructing the triangle this way will be much faster, and it will be acurate until you overflow the largest unsigned integer type we currently have (UInt64).
Bart