2012-11-16 34 views
0

我想讀一個CSV文件中的浮動: 我的浮動是:0,1660,現在我剛剛得到的第一個數字:0浮點讀數,丟失所有的小數位。回報率2.3.8

在這裏你可以看到我怎麼讀呢, float字符位於陣列行的第四個位置:

CSV.foreach(path, {:col_sep => @seperator}) do |row| 

      r = Route.new 
      ...... 
      .... 
      r.rate = row [3] 

如何獲取整數?我錯過了什麼?謝謝!

回答

0

你可以這樣寫「0.1660」而不是「0,1660」。 Ruby不通過逗號使用十進制數。

[1] pry(main)> 0.111 
=> 0.111 
[2] pry(main)> 0,111 
SyntaxError: unexpected ',', expecting $end 
0,111 
+0

但問題是,我得到的文件已經這樣寫的:0,1660 – Anna

+0

如果你說,這個問題是不是逗號,問題應該是你的閱讀技術。你可以查看這個http://stackoverflow.com/a/4410880/665123 – ndrx42

+0

你可以使用'row [3] .sub(',','。')' –

相關問題