0

我在将至少有 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));
4

3 回答 3

0

我会在您的通话中使用NumberStylesEnum ,如下所示:int.Parse

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

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

于 2013-10-24T12:13:50.453 回答
0

替代解决方案

int m = int.Parse(amount.Split('.')[0]);
于 2013-10-24T12:14:57.493 回答
0

你有没有尝试过:

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

于 2013-10-24T12:38:21.787 回答