将5+小数的字符串转换为int

时间:2013-10-24 12:05:15

标签: c# type-conversion

我遇到将至少5位小数的字符串转换为int的问题。 它看起来像这样

var amount = "113.000000000000";,我正在寻找的结果是113

我已经尝试过一堆不同的皈依者而没有任何运气。

我现在有一个有效的解决方案,这是一个扩展的方法,也许它不是那么好的解决方案

var amount = "113.000000000000";                
if (amount.Contains("."))
{
    var index = amount.IndexOf('.');
    return int.Parse(amount.Substring(0, index));
}

感谢输入

修改
我有这个建议,但正如我提到的那样是formatException

var t = availibleQuantity.InnerText;
var test = (int) float.Parse(t.ToString(CultureInfo.InvariantCulture));

3 个答案:

答案 0 :(得分:0)

我会在NumberStyles来电中使用int.Parse枚号,如下所示:

var amount = "113.000000000000";
return int.Parse(amount, NumberStyles.Float);

请注意,您必须添加using System.Globalization;,并且还有其他NumberStyles

答案 1 :(得分:0)

另一种解决方案

int m = int.Parse(amount.Split('.')[0]);

答案 2 :(得分:0)

你试过了吗?

Convert.ToInt64(Math.Floor(Convert.ToDouble(量)));