关于Flex里面数据类型转换的一个问题

AS3.0中,FLEX的定义里有固有函数Number(expression:object):String,但是当将一个string型的字符串进行转换的时候,如果该字符串有... AS3.0中,FLEX的定义里有固有函数Number(expression:object):String,但是当将一个string型的字符串进行转换的时候,如果该字符串有逗号,如“15,000.00”,那么就会返回NaN的值,这是因为逗号在FLEX侧的编译时存在差异的原因,但是如果利用固有函数parseFloat(str:String):Number的话,就会在逗号前面截住,返回值是“15”,那么,问题:我该采取何种方法才能让返回值变成Number型的“15,000.00”? 展开
 我来答
drink51
2011-12-31 · TA获得超过297个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:143万
展开全部
写个方法
private function returnNum(value:string):Number
{
return Number(value.split(",").join("").split(".").join(""))
}
然后调用这个方法
例如你裂盯衫的字符串是str
returnNum(str)
提示:这样转出来的肆腔是全部的字符,我则岩不知道你那个.后面的要不要。不要的话,这段就不要了.split(".").join("")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铁子们互follow
2011-12-29 · TA获得超过113个赞
知道答主
回答量:207
采纳率:80%
帮助的人:26万
展开全部
可以换个思路,先用字符串的replace方法把“逗号”去掉汪消,在用parseFloat(str:String):Number转换烂模试饥陵缓试看呢。
更多追问追答
追问
试验成功……泪奔,对函数的了解果然还差的远啊……
那么问下,Datagrid里面排序的时候,如果该列的数据是String型,我如何能让他变成按照Number型排列?
追答
flex中Datagrid控件有排序功能。你可以找找。或者用个简单的方法,dataProvider数据源不是list吗。。可以先把list排好顺序在放到Datagrid中。希望对你有帮助。
求最佳回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
selinplus
2011-12-29 · TA获得超过123个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:151万
展开全部
逗号迅拆手亩嫌去掉不就好了吗?
Number(expression.replace("御敬'",""))
追问
叹气,我果然对FLEX的固有函数各种不熟悉啊……

但是……另外一个问题出来了,我将它转成Number后是一个整数,小数后面都没有了,这个时侯要将它再度format化的话,Flex里面是否有固有函数可以实现这一点?似乎NumberFormatter里面的format返回值是String ,那样的话就没有意义了……

或者可以问下,Datagrid里面排序的时候,如果该列的数据是String型,我如何能让他变成按照Number型排列?
追答
刚下班,你的问题那不用转换了,要把String当作Number来比较是吧。GridColumn有一个sortCompareFunction属性,可以自定义排序方法。如下:在需要比较的列中。

然后

= parseFloat(obj1[gc.dataField].toString().replace("'","")))?1:-1;
}
]]>

希望对你有帮助。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式