小数点以下4桁の文字列形式のデータをintに変換する必要があります。 は、私はこの1つを試してみましたが、動作しないとさえ直接このConvert.ToInt16()を使用してまだ働いていませんでした:文字列( "1.0000")をintに変換する方法
Int32 result;
bool status = Int32.TryParse(v, out result);
はこれを変換する他の方法はありますか?
ありがとうございました。
小数点以下4桁の文字列形式のデータをintに変換する必要があります。 は、私はこの1つを試してみましたが、動作しないとさえ直接このConvert.ToInt16()を使用してまだ働いていませんでした:文字列( "1.0000")をintに変換する方法
Int32 result;
bool status = Int32.TryParse(v, out result);
はこれを変換する他の方法はありますか?
ありがとうございました。
'' にあなたが最初の二重に変換し、その後のInt32
へString s = "1.0000";
Double temp;
Boolean isOk = Double.TryParse(s, out temp);
Int32 value = isOk ? (Int32) temp : 0;
次を使用することができます。
string data = "1.0000";
int number
if(data.Contains('.'))
number = int.Parse(data.Substring(0, data.IndexOf('.'))); //Contains decimal separator
else
number = int.Parse(data); //Contains only numbers, no decimal separator.
1.0000
は小数点以下の桁、第1のストリップstring
からのものがあり、その後、int
に文字列を解析しているため。
ポイント(またはカンマ)がない場合は例外がスローされ、10,000,000ではなく10.000.000が解釈されます(グループセパレータとしてポイント付き) –
@TimSchmelter質問は10進数のポイントに関する数字ですセパレータ。これは、ポイントがグループセパレータにならないようにカルチャがあることを意味します。私はポイントの欠如に同意し、改善する – SynerCoder
10進数として解析してintにキャストする必要があります。
decimal resultTmp;
bool status = Decimal.TryParse("1.000".Replace(".",","), out resultTmp);
int result = (int)resultTmp;
「。」も変更します。
なぜ変更 '。' 〜 '、'?これは文化に依存します。 – harryovers
はい、CurrentCultureを引数として与える方が良いです。私はそれが正しいフォーマットではないので私はそれを変更しなければならなかった。 – apukineimakiapudjuh
がConvert.ToInt32を使用してみてください変換することができます()。 –
なぜ 'decimal.TryParse'を使わないのですか? –