0

Androidでディメンションを使用して値を解析する適切な方法は何ですか? intたとえば、次のいずれかの文字列から値 20 のを取得したいとします: 20px20mm20dp.

数値以外の文字で例外がスローされるため、試してもあまりうまくいきInteger.parseInt()ません。

4

2 に答える 2

0

ユニットが常に存在し、言及されたものの 1 つにすぎない場合、それが必要になることはないと確信している場合は、部分文字列を解析するだけです。str.substring(0, str.length() - 3)

カスタムクラスを使用して、単位を含む値を解析および保持することをお勧めします-いつか必要になるかもしれません。

于 2011-04-05T05:05:54.713 に答える
0

で開始すると、を介してAttributeSetを取得し、最終的にまたは 関連する関数を使用できます。TypedArrayContextgetDimension

例外をスローせずに文字列を parseInt に渡したいだけの場合は、これを試してください。

Integer.parseInt( someString.replaceFirst( "[^0-9].*" , "" ) );

正規表現は、数字ではない最初の文字から文字列を切り捨てます。これは、文字列が数字で始まる必要があることを意味します。

于 2011-06-02T00:53:25.827 に答える