# convert a string into a decimal - RUBY

This is a discussion on convert a string into a decimal - RUBY ; 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 ...

1. ## 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
--
Posted via http://www.ruby-forum.com/.

2. ## Re: convert a string into a decimal

> a="100000000.00"
> a.to_f

=> 100000000.0

Ernst Tanaka 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

--
Posted via http://www.ruby-forum.com/.

3. ## Re: convert a string into a decimal

Paulo Carvalho 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
--
Posted via http://www.ruby-forum.com/.

4. ## Re: convert a string into a decimal

Ernst Tanaka 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

--
Posted via http://www.ruby-forum.com/.

5. ## Re: convert a string into a decimal

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?

Paulo Carvalho wrote:
> > a="100000000.00"
> > a.to_f

> => 100000000.0
>
>
> Ernst Tanaka 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
>>

>
>

6. ## Re: convert a string into a decimal

> irb(main):005:0> "100,000,000.00".gsub(',','_').to_f
> => 100000000.0

That did the trick! Thanks
--
Posted via http://www.ruby-forum.com/.

7. ## Re: convert a string into a decimal

Pat George wrote:

> Any other way?

a.delete(',').to_f

Armin
--
Posted via http://www.ruby-forum.com/.