Changeset 677
- Timestamp:
- 01/12/03 11:13:37 (6 years ago)
- Files:
-
- trunk/lib/soap/XMLSchemaDatatypes.rb (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/soap/XMLSchemaDatatypes.rb
r660 r677 255 255 256 256 integerPart = '0' if integerPart.empty? 257 fractionPart = fractionPart ? fractionPart.sub( '0+$', '' ) : ''257 fractionPart = fractionPart ? fractionPart.sub( /0+$/, '' ) : '' 258 258 @point = - fractionPart.size 259 259 @number = integerPart + fractionPart … … 374 374 @data = Float( str ) 375 375 rescue ArgumentError 376 raise ValueSpaceError.new( "#{ type }: cannot accept '#{ str }'." ) 376 # '1.4e' cannot be parsed on some architecture. 377 if /e\z/i =~ str 378 begin 379 @data = Float( str + '0' ) 380 rescue ArgumentError 381 raise ValueSpaceError.new( "#{ type }: cannot accept '#{ str }'." ) 382 end 383 else 384 raise ValueSpaceError.new( "#{ type }: cannot accept '#{ str }'." ) 385 end 377 386 end 378 387 end … … 515 524 @data = DateTime.civil( *( t.dup.gmtime.to_a[ 0..5 ].reverse )) 516 525 diffDay = t.utc_offset.to_r / SecInDay 517 @data = @data.new of( diffDay )526 @data = @data.new_offset( diffDay ) 518 527 else 519 528 set_str( t ) … … 583 592 shiftSize = fr.denominator.to_s.size 584 593 fr_s = ( fr * ( 10 ** shiftSize )).to_i.to_s 585 s << '.' << '0' * ( shiftSize - fr_s.size ) << fr_s.sub( '0+$', '' )594 s << '.' << '0' * ( shiftSize - fr_s.size ) << fr_s.sub( /0+$/, '' ) 586 595 end 587 596 addTz( s ) … … 626 635 shiftSize = fr.denominator.to_s.size 627 636 fr_s = ( fr * ( 10 ** shiftSize )).to_i.to_s 628 s << '.' << '0' * ( shiftSize - fr_s.size ) << fr_s.sub( '0+$', '' )637 s << '.' << '0' * ( shiftSize - fr_s.size ) << fr_s.sub( /0+$/, '' ) 629 638 end 630 639 addTz( s )