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 类型只能容纳 17 位(或者是 16 位?)数字......所以它总是以指数形式存储。

您可以做的是将您的 XML 节点直接用作字符串,例如

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

这将跟踪:您的 xml 节点值作为字符串:123456789012345678903333333333

PS这可能应该是一个评论,但我还没有足够的代表。这样做

于 2013-03-18T12:35:03.593 回答