Hi Mariano, How about just defining:
SmallDouble >> sixxType ^'Float' SmallDouble >> sixxWriteValue ^self asFloat I'm not using GemStone right now, so maybe my assumption would be inaccurate. But just a quick answer. Regards, 2014-02-27 6:38 GMT+09:00 Mariano Martinez Peck <[email protected]>: > Hi guys, > > When I export SmallDoubles with SIXX in GemStone it generates something like > this: > > <sixx.object sixx.id="15" sixx.name="close" sixx.type="SmallDouble" >>1.0000000000000000E-02</sixx.object> > > This is because "0.01 asString" -> '1.0000000000000000E-02' > > Then I want to load this in Pharo. So first problem is that of course > SmallDouble doesn't exist. So I did: > > aSixxShapeChangeStream shapeChangers at: #SmallDouble put: Float. > But then, SIXX use Float >> readFrom: aStream > "Answer a new Float as described on the stream, aStream." ^(super readFrom: > aStream) asFloat > > > So, of course " Float readFrom: '1.0000000000000000E-02' " -> 1.0 > > So my 0.01 in gemstone become 1.0 in Pharo.... > > Am I doing something wrong or this is expected? What is the best workaround? > > In GemStone I could print the SmallDouble in the XML with a method like > > Float >> xmlRepresentation > ^ String streamContents: > [:strm | self printOn: strm base: 10] > > Is this the correct approach? If true, I guess I should define: > > Float >> sixxContentOn: aStream indent: level context: dictionary aStream > nextPutAll: self xmlRepresentation > > > Thoughts? > > Thanks in advance, > > -- > Mariano > http://marianopeck.wordpress.com -- [:masashi | ^umezawa]
