私はイタリア出身ですので、小数点区切り記号は '、'であり、cyphersはchar 'でグループ化されています。 これを短縮するために、ユーザーがグローバル形式を変更せずに高度な設定を使ってセパレータとグループのcharだけを変更しなければならないときは、数値を処理する必要があります。小数点区切りを強制するときのlong/double/float数の解析
あなたはフォーマットがまだイタリアが、次の高度な設定を使用していることがわかります。
ので、あなたがにもかかわらず、グローバルなを保つことがわかりますイタリア語の設定私は小数点の区切り文字を '、'とし、サイファーグループのcharを ''にします。
文字列が数値かどうかを判断する必要があります。これを行うには、次のようなs/rを使用します。
public static bool IsNumeric(this string theValue)
{
long retNum;
return long.TryParse(theValue, NumberStyles.Integer, NumberFormatInfo.InvariantInfo, out retNum);
}
実際、long.TryParseは失敗します。 theValueが "14.142135624"のときは、retNumの値は0になります。
は、他のNumberStylesとするNumberFormatInfo値を台無しにしようとしたが、任意の助けのために何でも便利
感謝し取得できませんでした。
私はNumberStyles(特にAllowDecimalPoint、Any、Float、None、Number)を試してきたと言いましたが、何も働いていませんでした。 – Patrick
それから、浮動小数点数なので、 'decimal.TryParse()'を試してみてください。 – Adwaenyth
素晴らしい!追加のパラメータなしでも動作します:\t return decimal.TryParse(theValue、out retNum);ありがとう!!それに応じて答えを変えて、それを解決できるようにしたいかもしれません。 – Patrick