FLEX XMLDecoder将“ 09.00”变为“ 09.00”,而将“ 10.00”变为10

问题描述

|| 有人可以解释为什么FLEX 4.5 XMLDecoder对我的XML数据这样做吗?
var decoder:XMLDecoder = new XMLDecoder;
var $object:Object = decoder.decode( <xmltag>08.00</xmltag> );
// object = \"08.00\"

var decoder:XMLDecoder = new XMLDecoder;
var $object:Object = decoder.decode( <xmltag>11.00</xmltag> );
// Object = \"11\" (HEY! Where did my \'.00\' part of the string go?)

var decoder:XMLDecoder = new XMLDecoder;
var $object:Object = decoder.decode( <xmltag>11.30</xmltag> );
// Object = \"11.3\" (HEY! Where did my \'0\' part of the string go?)
    

解决方法

        Flex解​​串器也给我带来了问题。可能将它们解释为Number对象,因此在调用toString()时它们将返回简短表示形式。 每当需要打印
11.00
之类的值时,尝试使用
.toFixed(2)
var $object:Object = decoder.decode( <xmltag>11.00</xmltag> );
trace($object); //11
trace($object.toFixed(2)); //11.00
    ,        因此,要回答为什么会这样的原始问题: 在SimpleXMLDecoder的源代码(我想它的功能与XMLDecoder类似)中,在函数simpleType()中有一条注释:
//return the value as a string,a boolean or a number.
//numbers that start with 0 are left as strings
//bForceObject removed since we\'ll take care of converting to a String or Number object later
以0开头的数字保留为字符串-我想他们想到的是电话号码,而不是小数。 此外,由于某些隐含的强制转换,您实际上具有三种不同的类型- \“ 0.800 \”:字符串 11:int 11.3:数字     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...