0

ユーザーが入力した金額を分割しようとしているフレックスのテキストボックスがあります。コードは次のようなものです。

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

dot(.) でさまざまなオプションを試してみましたが、何も機能せず、毎回splitAmount.length1 のみが返されます。

4

2 に答える 2

1

メソッドの引数として文字列を使用する場合、split何もエスケープする必要はありません。ただ行う:

toAmountLocal.split(".");

ただし、正規表現を引数として使用する場合は、次のようにバックスラッシュを 1 つだけ使用してドットをエスケープする必要があります。

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 に答える