将字符串格式化为数字

时间:2017-01-30 19:17:56

标签: c# regex string

我正在解析一个包含文字和数字的字符串,例如abc00123。

当我提取数字00123时,它仍然是一个字符串,所以我转换为双。

在我这样做之后,它在开头就失去了零。

此外,数字的长度可能会有所不同。

在将字符串转换为double时,是否仍然保持零?

如果没有,也许我会比较两个字符串,如果原始数组的大小更大,如果可能的话,将差异附加到数字的开头?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

没有。双重不了解数字的格式 - 只有数字本身。当存储为double时,123,0123和00123都是相同的值。如果要格式化,则必须将其转换回字符串。

举例说明:

var testString = "00123";
var testDouble = double.Parse(testString);

Console.WriteLine(testDouble.ToString());   //would return 123
Console.WriteLine(testDouble.ToString("00000")); //would return 00123
Console.WriteLine(testDouble.ToString("000000"));   //would return 000123

答案 1 :(得分:0)

双打不能在左手边有零,因为它实际上没有意义。但你可以将它们比作你所说的字符串。对于那些长度不同的人,你可以使用PadLeft来使它们具有相同的长度:

sepratedNumber.PadLeft(10,'0');这将在变量sepratedNumber的左侧追加多个零,直到其总长度等于10。