我在一个字符串中有这个值
string FinalValue=" 0XXXXXXXXX";
我需要获取整数值。
但是当我像下面这样转换它时
custNUmber = int.Parse(FinalValue);
它表示值对于 int32 来说不是太大就是太小。 C#
当我使用 long 时,它会跳过第一个数字 0。
最佳答案
数学表明 07894204661 == 7894204661
这就是结果 long
总是 7894204661 的原因;如果您想在将 long
转换回 String
时恢复前导零(例如,为了在 TextBox 中显示它,打印到控制台等.) 您可以使用格式化:
String FinalValue=" 07894204661";
long custNUmber = long.Parse(FinalValue.Trim());
// 11 digits wanted; "07894204661" is the outcome
String value = custNUmber.ToString("D11");
附言仅限 int.MaxValue == 2147483647
;当您尝试将“07894204661”转换为 int
时,这就是异常的原因。
关于c# - 如何将字符串值转换为 int,使其不跳过前面的 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21429050/