如何将多个零作为字符串输入到int? [复制]

Posted

技术标签:

【中文标题】如何将多个零作为字符串输入到int? [复制]【英文标题】:How to input multiple zero as string to int? [duplicate] 【发布时间】:2014-09-04 02:47:27 【问题描述】:

我有一个值"0001" 作为string

那么,如何将值插入到数据类型为int的字段中?

我在 C# 中工作

example :
string val = "0001";
int getVal = val;

【问题讨论】:

或者...***.com/q/405619/327083 ; ***.com/q/952469/327083 ...此外,还有很容易找到的文档:msdn.microsoft.com/en-us/library/bb397679.aspx 【参考方案1】:

您可以使用Int32.ParseInt32.TryParse 方法。 但请记住0001 只是一个数字的文本表示...即string。当你解析这个字符串时,你会得到1 而不是0001。没有 0001int 一样。

string val = "0001";
int getval;
if (Int32.TryParse(val, out getval))

     //Successfull parsing

else

     //Your string is not a valid integer.

这些方法之间的区别是;如果您的字符串不是有效的Int32,则Int32.Parse 抛出FormatException。但是Int32.TryParse 在任何情况下都不会抛出任何异常。如果解析不成功,它只会返回false

【讨论】:

返回“1”..我想在表“0001”中输入。 @user3747046 正如我所说,您不能将int 用作0001。整数不允许使用前导零。 0001 只是它的 string 表示。在您的情况下,“桌子”是什么?是数据库表吗?如果是,那么您可以将列类型定义为字符(例如nvarchar),并且您可以将0001 值插入为string,而无需任何解析操作。【参考方案2】:

您可以使用int.Parse()int.TryParse() 将字符串转换为int,如果解析失败,则不会抛出异常。

但是请注意,00011 在转换为整数时以完全相同的方式表示。如果您需要尾随零,则必须保留字符串并仅在需要进行计算时转换为 int。

【讨论】:

【参考方案3】:

整数不允许有前导零,但也许这篇文章可以帮助你

How to: Pad a Number with Leading Zeros

【讨论】:

【参考方案4】:

试试这个:

string val = "0001"; 
int getVal = Convert.ToInt32(val);

【讨论】:

【参考方案5】:
int getVal;
string val = "0001";
Int.tryparse(val,out int getVal);

更多信息http://www.codeproject.com/Articles/32885/Difference-Between-Int-Parse-Convert-ToInt-and是教程

告诉我任何 0001 而不是 1 的数字?他们是一样的。这取决于您如何打印数字或将数字存储在字符串中。

【讨论】:

返回“1”..我想在表“0001”中输入。 好吧,告诉我任何数字是 0001 吗? .这取决于您如何打印数字或将数字存储在字符串中

以上是关于如何将多个零作为字符串输入到int? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将多个方法参数作为循环或字符串传递

如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]

如何在 C++ 中将数组 char 复制到字符串或 int* (void *) 中? [关闭]

如何在 FreeMarker 中将字符串作为输入传递? [复制]

如何将信号参数作为 int 而不是字符串发出?

将数据从 int 复制到 2 个无符号字符