C# 字符串自定义格式添加尾随零
C# string custom format to add trailing zeroes
我正在尝试将小数转换为包含 8 个字符的字符串。如果小数点前少于 3 位数字并且总是有四位数字,则它应该有前导白色 space。以下是我尝试过的方法和得到的结果。
decimal value=1; // What I want " 1.0000"
string str = value.tostring("###.0000"); // str ends up being "1"
str = string.Format("{0:###.0000}",1); // str ends up being "1.0000"
str = string.Format("{0,8}:###.0000",value); // str ends up being " 1"
我做错了什么?
第三个格式说明符背后的想法是正确的,但语法不正确。
这有效:
> string.Format("{0,8:###.0000}", 1M)
" 1.0000"
>
使用字符串插值的替代版本:
> decimal value = 1M;
> $"{value,8:###.0000}"
" 1.0000"
>
这应该有效:
decimal value = 10;
var str = string.Format("{0,8:###.0000}", value);
我正在尝试将小数转换为包含 8 个字符的字符串。如果小数点前少于 3 位数字并且总是有四位数字,则它应该有前导白色 space。以下是我尝试过的方法和得到的结果。
decimal value=1; // What I want " 1.0000"
string str = value.tostring("###.0000"); // str ends up being "1"
str = string.Format("{0:###.0000}",1); // str ends up being "1.0000"
str = string.Format("{0,8}:###.0000",value); // str ends up being " 1"
我做错了什么?
第三个格式说明符背后的想法是正确的,但语法不正确。
这有效:
> string.Format("{0,8:###.0000}", 1M)
" 1.0000"
>
使用字符串插值的替代版本:
> decimal value = 1M;
> $"{value,8:###.0000}"
" 1.0000"
>
这应该有效:
decimal value = 10;
var str = string.Format("{0,8:###.0000}", value);