【问题标题】:flex : how to cast int to String in Objectflex:如何将 int 转换为 Object 中的 String
【发布时间】:2013-03-18 08:13:36
【问题描述】:
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

【问题讨论】:

  • 我希望 XML 值是一个字符串,除非另有说明(或者可能是一个对象)。您是否真的打算更改跟踪输出?还是您担心值的数据类型?这个工作:trace(String(_arrCol.getItemAt(0).name)); ?

标签: apache-flex object arraycollection


【解决方案1】:

SimpleXMLDecoder decodeXML 方法将您的“大数字字符串”转换为数字类型。 Number 类型只能包含 17 个(或者是 16 个?)数字... 所以它总是以指数形式存储。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2021-02-05
    • 1970-01-01
    • 2013-06-16
    • 2020-07-03
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    相关资源
    最近更新 更多