たとえば123 456 000$
、文字列をフォーマットしましたが、この文字列のフォーマットを知っています{0:### ### ##0}$
。int value = 123456000;
既知の形式を使用して、C#でこの文字列から取得したいと思います。
どうすればそれができますか?
たとえば123 456 000$
、文字列をフォーマットしましたが、この文字列のフォーマットを知っています{0:### ### ##0}$
。int value = 123456000;
既知の形式を使用して、C#でこの文字列から取得したいと思います。
どうすればそれができますか?
mytext = System.Text.RegularExpressions.Regex.Replace(mytext.Name, "[^.0-9]", "");
またはそのようなものは厄介な非数字を取り除きます
次に、最初の数文字1、2、3 ...と最後の数文字、長さ-1、長さ-3..を削除します。
私が何かを逃していない限り?
そうそう、Convert.Toint32(mytext)
int.Parse("123 456 000$", NumberStyles.AllowCurrencySymbol |
NumberStyles.Number);
NumberFormatInfo
文字列値を解析するのと同じようなものを作成する必要があると思います。$
テキストで使用されている通貨記号の場合、あなたの場合は千のグループの区切り記号がspace
代わりに使用さ,
れるため、カスタムの数値形式情報が解析に役立ちます。
string val = "123 456 000$";
NumberFormatInfo numinf = new NumberFormatInfo();
numinf.CurrencySymbol = "$";
numinf.CurrencyGroupSeparator = " ";
numinf.NumberGroupSeparator = " "; // you have space instead of comma as the seperator
int requiredval = int.Parse(val,NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands, numinf);
これはあなたが価値を得るのを助けるはずです
私はそれを簡単な方法にします:
String formattedString = "12345500$";
formattedString.Remove(formattedString.Length - 1);
int value = int.Parse(formattedString);