Androidでディメンションを使用して値を解析する適切な方法は何ですか? int
たとえば、次のいずれかの文字列から値 20 のを取得したいとします: 20px
、20mm
、20dp
.
数値以外の文字で例外がスローされるため、試してもあまりうまくいきInteger.parseInt()
ません。
Androidでディメンションを使用して値を解析する適切な方法は何ですか? int
たとえば、次のいずれかの文字列から値 20 のを取得したいとします: 20px
、20mm
、20dp
.
数値以外の文字で例外がスローされるため、試してもあまりうまくいきInteger.parseInt()
ません。
ユニットが常に存在し、言及されたものの 1 つにすぎない場合、それが必要になることはないと確信している場合は、部分文字列を解析するだけです。str.substring(0, str.length() - 3)
カスタムクラスを使用して、単位を含む値を解析および保持することをお勧めします-いつか必要になるかもしれません。
で開始すると、を介してAttributeSet
を取得し、最終的にまたは 関連する関数を使用できます。TypedArray
Context
getDimension
例外をスローせずに文字列を parseInt に渡したいだけの場合は、これを試してください。
Integer.parseInt( someString.replaceFirst( "[^0-9].*" , "" ) );
正規表現は、数字ではない最初の文字から文字列を切り捨てます。これは、文字列が数字で始まる必要があることを意味します。