Enumerator Int值转换为字符串三位数的基数2

时间:2013-09-11 08:13:26

标签: c# .net string int converter

我有一个类似以下的枚举:

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"

3 个答案:

答案 0 :(得分:2)

var audioEncStr = Convert.ToString(audioEncInt, 2).PadLeft(3,'0');

答案 1 :(得分:2)

如果它是一个恒定的3个字符,你可以使用PadLeft

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

如果字符串不是指定的长度

,那么它将在字符串的左边添加零

答案 2 :(得分:1)

你可以简单地使用string.PadLeft方法:

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