0
private var xml:XML = <root><data><name>123456789012345678903333333333</name></data></root>

        public function xmlConversion(xml:XML):void
        {  
            _xmlDoc = new XMLDocument(xml.toString());  
            _decoder = new SimpleXMLDecoder(true);  
            _resultObj = _decoder.decodeXML(_xmlDoc);  
            _arrCol = new ArrayCollection();
            _arrCol.addItem(_resultObj.root.data);
            trace(_arrCol.getItemAt(0).name);

        } 

痕跡:

1.23456789012345e+29

結果名の値を次のようにします。

123456789012345678903333333333
4

1 に答える 1

0

SimpleXMLDecoder の decodeXML メソッドは、「大きな数字の文字列」を Number 型に変換します。Number 型は 17 桁 (または 16 桁ですか?) しか保持できません...したがって、常に指数として格納されます。

できることは、XMLノードを文字列として直接使用することです。

trace("Your xml node value as string:"+xml.data.name);

これはトレースします: 文字列としての xml ノード値:123456789012345678903333333333

PSこれはおそらくコメントになるはずですが、まだ十分な担当者がいません。そうするために

于 2013-03-18T12:35:03.593 に答える