0

我在 flex 中有一个文本框,我试图在其中拆分用户输入的金额。代码类似于:

var splitAmount:Array = toAmountLocal.split("\\.");

尝试使用 dot(.) 使用不同的选项,但没有任何效果,每次splitAmount.length它只返回 1。

4

2 回答 2

1

如果您使用 String 作为split方法的参数,则不必转义任何内容;做就是了:

toAmountLocal.split(".");

但是,如果您希望使用正则表达式作为参数,那么您将不得不使用一个反斜杠来转义点,如下所示:

toAmountLocal.split(/\./);
于 2012-11-06T11:20:41.270 回答
0

下面的代码可能会对您有所帮助:我添加了评论您在逻辑中缺少的内容。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationComplete="init()">

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            [Bindable]
            private var toAmountLocal:String = "123.45.6.78";

            private function onClickHandler():void
            {
                //if user is entering value your local variable should be updated.
                toAmountLocal = inputID.text;
                var splitAmount:Array = toAmountLocal.split('.');
                Alert.show(splitAmount.length.toString())
            }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <s:layout>
        <s:VerticalLayout/>
    </s:layout>

    <s:TextInput id="inputID" text="{toAmountLocal}"/>
    <s:Button label="Split" click="onClickHandler()"/>

</s:Application>
于 2012-11-06T11:50:12.157 回答