如何将一个字符串(例如“-100,100”)转换为C#中的长字符串.
我目前有一行代码
long xi = long.Parse(x,System.Globalization.NumberStyles.AllowThousands);
但是当x为“负数”时,则会中断.
我的方法:
long xi = long.Parse("-100,253,1",System.Globalization.NumberStyles.AllowLeadingSign & System.Globalization.NumberStyles.AllowThousands);
是错的,因为它打破了.
解决方法
给一个去:
long xi = long.Parse(x,System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowLeadingSign);
这可能是因为您声明旗帜,您可能需要声明将被击中的所有可能的标志.
我刚刚确认这个代码是在测试项目中使用你的给定的字符串值在问题.让我知道如果它符合你的要求.在单个参数中声明多个标志使用|而不是&
编辑:
http://msdn.microsoft.com/en-us/library/cc138362.aspx在“枚举类型作为位标志”标题下找到不同的按位运算符的解释(比我想象的更难找到).