如何管理从字符串到int的转换?

mar*_*zzz 1 .net c# string int type-conversion

代码:

int TopAttuale = Int32.Parse("1579.998779296875");
Run Code Online (Sandbox Code Playgroud)

它说

System.FormatException:输入字符串的格式不正确.

但这就是我所拥有的.如何将该字符串转换为INT(所以1579,我不关心逗号)?

lep*_*pie 9

做:

(int) double.Parse(inputstring)
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 5

听起来你应该首先解析它decimal,然后只是转换为int.(我会使用decimal而不是double你真正得到十进制输入; decimal会更准确地表示你的源数据.但是,当你施放它时,它应该没有任何区别.)

// Parse using the invariant culture so that it always uses "." as the
// decimal separator
decimal parsed = decimal.Parse(text, CultureInfo.InvariantCulture);
int value = (int) parsed;
Run Code Online (Sandbox Code Playgroud)

或者,查看是否有小数点,如果是,则修改后面的所有内容,然后解析结果.


Nic*_*nes 5

decimal.ToInt32(decimal.Parse("1579.998779296875"))
Run Code Online (Sandbox Code Playgroud)