c# - 如何将字符串值转换为 int,使其不跳过前面的 0?

标签 c#

我在一个字符串中有这个值

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/

相关文章:

c# - 如何以编程方式执行点击事件?

c# - WPF 数据绑定(bind)和 IValueConverter

c# - WPF 将 UI 事件绑定(bind)到 ViewModel 中的命令

c# - 从 C# 调用 VBA 函数

c# - 如何从 MS Word 中的行号获取文本

c# - 卡在显示器上打开

c# - 如何使用HttpWebRequest/Response从Web服务器下载二进制(.exe)文件?

c# - Windows.Foundation.UniversalApiContract 在哪里?

c# - 具有多种条件的下拉列表 - 从数据库中选择

c# - 以下两个语句有什么区别?