* util.c (ruby_strtod): Add support for Hexadecimal

floating-point expression [ruby-dev:40650] #2969

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2010-03-17 16:21:45 +00:00
parent 5f0be51c21
commit 9eb68d7c44
3 changed files with 52 additions and 0 deletions

View file

@ -1385,6 +1385,15 @@ class TestString < Test::Unit::TestCase
assert_equal(5.9742e24, S("5.9742e24").to_f)
assert_equal(98.6, S("98.6 degrees").to_f)
assert_equal(0.0, S("degrees 100.0").to_f)
assert_equal([ 0.0].pack('G'), [S(" 0.0").to_f].pack('G'))
assert_equal([-0.0].pack('G'), [S("-0.0").to_f].pack('G'))
assert_equal([ 0.0].pack('G'), [S(" 0x0p+0").to_f].pack('G'))
assert_equal([-0.0].pack('G'), [S("-0x0p+0").to_f].pack('G'))
assert_equal(1.0, S("0X1.P+0").to_f)
assert_equal(1024.0, S("0x1p+10").to_f)
assert_equal(0.0009765625, S("0x1p-10").to_f)
assert_equal(2.6881171418161356e+43, S("0x1.3494a9b171bf5p+144").to_f)
assert_equal(-3.720075976020836e-44, S("-0x1.a8c1f14e2af5dp-145").to_f)
end
def test_to_i