Ruby-1.8.6BigDecimal.to_f返します'0,0'Solaris
-
19-09-2019 - |
質問
いものを作エラーになります。私は、Solaris10を使用Rubyエンタープライズプラン(ruby1.8.6(2008-08-08patchlevel286)[i386-solaris2.10])レール2.3.4.してもエラーになります。にirb:
irb(main):001:0> require 'bigdecimal'
=> true
irb(main):002:0> b = BigDecimal.new('123')
=> #<BigDecimal:834d0e8,'0.123E3',4(8)>
irb(main):003:0> b.to_s
=> "0.123E3"
irb(main):004:0> b.to_i
=> 123
irb(main):005:0> b.to_f
=> 123.0
irb(main):006:0>
あの!しかし、レールのコンソールと同じことを、"to_f"を常に返します'0,0'.
>> b = BigDecimal.new('123')
=> #<BigDecimal:9e80e14,'0.123E3',4(8)>
>> b.to_s
=> "123.0"
>> b.to_i
=> 123
>> b.to_f
=> 0,0
こうした事態が起こらないよう私は同じことを自分のMacです。もっ!る可能性があるバグを修正Rubyエンタープライズ?ものだが記載されていないのはなぜで起こる内部格付(または希土類元素版、ダブルチェック).そのアイデア?
- ヨハネス-
解決
私は研究者ではないが、私の推測ではこの挙動はインターネットサイトお教えください。
どうやら、to_f用国有化の小数点セパレーターが不要になる。思を変更した場合に、お客様のコンピュータの国籍の設定を変更となります。
編集:
ないことを自問題です。がもう少し背景情報が
だけど、 123.to_f
にirbには、実際に実行 123.to_f.to_s
(irbのニーズを印刷結果が出ています。
がするとともに、明示的なフォーマットを活用したオペレーター %
:
"%5.1f" % 123 => 123.0
編集:
その後、掘りを見つけ真に関する情報はこちら
http://rubyforge.org/forum/forum.php?thread_id=32460&forum_id=723
での連続周回でも全く問題はないにRubyのコミュニティはもちろん、まずは"定"など。回避策提供しています。
所属していません StackOverflow