将字符串转换为整数,不丢失开头的零

17

我尝试使用 int.parse 和 convert 类将字符串转换为整数。

在转换时,我失去了开始的 0,而我不想要这个。

例如:09999 变成了 9999 - 我不想要这个。

我想保留它原来的样子。

我该如何做到这一点?


5
数学上,前导零是无关紧要的。09999和9999同样表示九千九百九十九。既然这两个数本质上相同,为什么还要保留前导零呢? - BoltClock
2
你想要一个带前导零的整数表示吗? - Clayton
7
不要将它转换为整数类型。 - lincolnk
一个前导的0不是表示八进制吗?因此09999是一个无效的数字... - Dunes
2
你可以计算字符串的长度,然后转换为整数,对其进行操作,再将其转换回字符串,并在其开头添加零,直到其长度与之前相同。 - Andreas Hartmann
显示剩余4条评论
11个回答

0
尽管这是一个旧的主题,但这也可以帮助:
// convert to big integer
var bigIntBits = BigInteger.Parse(intNumber);
int indexOfOne = intNumber.IndexOf('1');            
string backToString = new string('0', indexOfOne) + bigIntBits.ToString();    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接