如何将多个零作为字符串输入到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.Parse
或Int32.TryParse
方法。 但请记住,0001
只是一个数字的文本表示...即string
。当你解析这个字符串时,你会得到1
而不是0001
。没有 0001
和 int
一样。
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,如果解析失败,则不会抛出异常。
但是请注意,0001
和 1
在转换为整数时以完全相同的方式表示。如果您需要尾随零,则必须保留字符串并仅在需要进行计算时转换为 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 *) 中? [关闭]