Convert a string into a decimal

I am a new Ruby programmer. I am really amazed with the ease of
programming.

I seem not to be able to find a solution for the following task.

I want to convert an object with the class string into a object with the
class fixnum or decimal. So I can store the result in a Decimal(13,2)
sql field.

The value of the object string is “100,000,000.00” (including the comma
and the decimal point.

Appreciate all the help at for hand!

Ernst

a=“100000000.00”
a.to_f
=> 100000000.0

Ernst T. wrote:

I am a new Ruby programmer. I am really amazed with the ease of
programming.

I seem not to be able to find a solution for the following task.

I want to convert an object with the class string into a object with the
class fixnum or decimal. So I can store the result in a Decimal(13,2)
sql field.

The value of the object string is “100,000,000.00” (including the comma
and the decimal point.

Appreciate all the help at for hand!

Ernst

Paulo C. wrote:

a=“100000000.00”
a.to_f
=> 100000000.0

Thank you for the quick reaction.

to_f seems not to be the solution

a = “13,014,530”
a.to_f

13.0

The result I am looking for is
13014530

Thanks again.

Ernst

Ernst T. wrote:

I am a new Ruby programmer. I am really amazed with the ease of
programming.

I seem not to be able to find a solution for the following task.

I want to convert an object with the class string into a object with the
class fixnum or decimal. So I can store the result in a Decimal(13,2)
sql field.

The value of the object string is “100,000,000.00” (including the comma
and the decimal point.

Appreciate all the help at for hand!

Ernst

irb(main):005:0> “100,000,000.00”.gsub(’,’,’_’).to_f
=> 100000000.0

irb(main):005:0> “100,000,000.00”.gsub(’,’,’_’).to_f
=> 100000000.0

That did the trick! Thanks

Ruby newb incoming:

Since his string is “100,000,000.00” to_f won’t work:

irb(main):001:0> a = “100,000,000.00”
=> “100,000,000.00”
irb(main):002:0> a.to_f
=> 100.0

Only thing I could think of was to gsub! it first and get rid of the
commas:

irb(main):001:0> a = “100,000,000.00”
=> “100,000,000.00”
irb(main):003:0> a.gsub!(/,/, ‘’)
=> “100000000.00”
irb(main):004:0> a.to_f
=> 100000000.0

Any other way?

Pat George wrote:

Any other way?

a.delete(’,’).to_f

Armin