 # How to print an array with floating point numbers?

Hi,

I tried to print an array with a floating point numbers e.g. x[0,0] =
55.123 with the format: printf("%0.04f\n", x[0,0])

But it failed and I got the message: `printf’: can’t convert Array into
Float (TypeError)

When I tried printf("%0.04f\n", 55.123) I got the expected aswer:
55.1123

Can anyone tell me how I can print an array with floating point numbers?

Thiel C.

Did you mean:
printf("%0.04f\n",x)

On Tue, 04 Nov 2008 11:12:31 +0100, thiel [email protected] wrote:

Can anyone tell me how I can print an array with floating point numbers?

printf:

[0.1, 2.3, 4.5, 6.7, 8.9].each { |x| printf("%0.04f\n",x)}
0.1000
2.3000
4.5000
6.7000
8.9000

puts and ‘%’:

[0.1, 2.3, 4.5, 6.7, 8.9].each { |x| puts “%0.04f” % x}
0.1000
2.3000
4.5000
6.7000
8.9000

For multidimensional arrays you need to decide in which order you
iterate
over the indices. There’s more than one convention to do so. Typical
order
1: The inner loop iterates over the first, the next outermost loop over
the second index, and so on.
Typical order 2: The inner loop iterates over the last, the next
outermost loop over the previous index, and so on.

HTH,

Josef ‘Jupp’ Schugt

Hi Shourya,

Many thanks for your answer. I solved the problem. The reason was I used
a wrong multi dimensional array definition.

Best regards,

Thiel

Sarcar, Shourya C (GE Healthcare) schreef:

Hi Josef,

was quite trivial (at last )

I ran into problems because I used a wrong multi dimensional array
definition from the book B. Preissig and changed it into :

def Test.mda(width,height)
Array.new(width).map!{ Array.new(height) }
end

x = Test.mda(6,2)

x = 55.123
x = 39.234
x = 41.897
x = 40.456
x = 47.234
x = 51.567

x = 1
x = 2
x = 3
x = 4
x = 5
x = 6

# And the testprogram

x = x.sort {|v1, v2 | v2 <=> v1}

for m in 0 … 5
if x[m] >= x then
printf(“Greater %3.3f\n”, x[m])
else
printf(“Smaller %3.3f \n”, x[m] )
end
end
puts “Smallest value = #{x.to_s}”

And it works fine.

Best regards,

Thiel

Josef ‘Jupp’ Schugt schreef:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.