0

我有一个如下的枚举:

public enum AudioEncoding
{
    PCM_24Bit = 0,
    ADPCM_24Bit = 1,
    MPEG2_128kBit = 2
}

我需要将枚举数的值转换为字符串三位基数为 2 的数字,例如"010".

我尝试了以下方法将字符串转换为以 2 为底的数字:

int audioEncInt = (int)AudioEncoding.ADPCM_24Bit;
string audioEncStr = Convert.ToString(audioEncInt, 2);

它工作正常,但它返回一个字符串值"10"。如何返回字符串值"010"

4

3 回答 3

2
var audioEncStr = Convert.ToString(audioEncInt, 2).PadLeft(3,'0');
于 2013-09-11T08:15:28.527 回答
2

如果它是一个恒定的 3 个字符,则需要您可以使用 PadLeft

int audioEncInt = (int)AudioEncoding.ADPCM_24Bit;
string audioEncStr = Convert.ToString(audioEncInt, 2).PadLeft(3, '0');

如果它不是指定的长度,它将在字符串的左侧添加零

于 2013-09-11T08:17:29.957 回答
1

您可以像这样简单地使用string.PadLeft方法:

int audioEncInt = (int)AudioEncoding.ADPCM_24Bit;
string audioEncStr = Convert.ToString(audioEncInt, 2);
audioEncStr = audioEncStr.PadLeft(3, '0');
于 2013-09-11T08:18:29.407 回答