C# 如何设置双精度的格式

C# 如何设置双精度的格式,c#,string-formatting,C#,String Formatting,我有: 我需要对其进行格式化以获得以下结果: “000345”-长度应仅为6 “3.45\uuuuuuuuuuuu”-长度应为8,左对齐,其他部分应填充空白。(我在这里使用下划线而不是空格,因为这个服务上的一些错误不允许正确显示这个字符串,但实际上这并不重要,因为填充符应该在格式字符串中定义。) 仅仅通过编程很容易做到,但我只需要使用格式字符串就可以实现。可能吗 那就是: double somevar = 3.45; 实际上,只有第一个问题没有答案 谢谢! 我喜欢你们的风格,你们不喜欢这个问题

我有:

我需要对其进行格式化以获得以下结果:

  • 000345
    ”-长度应仅为6
  • 3.45\uuuuuuuuuuuu
    ”-长度应为8,左对齐,其他部分应填充空白。(我在这里使用下划线而不是空格,因为这个服务上的一些错误不允许正确显示这个字符串,但实际上这并不重要,因为填充符应该在格式字符串中定义。)
  • 仅仅通过编程很容易做到,但我只需要使用格式字符串就可以实现。可能吗

    那就是:

    double somevar = 3.45;
    
    实际上,只有第一个问题没有答案

    谢谢! 我喜欢你们的风格,你们不喜欢这个问题,因为你们不能回答,对吗

    string format="???";
    float number = 3.45;
    string output = string.Format(format, number);
    

    用了大约30秒的时间查看string.format上的文档。

    我不确定我是否理解,是否要将“3.45”格式化为“000345”?第二个是将“3.45”格式化为“3.450000”?Brosto,对。hunter,不,应该是“3.45_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果这不是家庭作业,实际要求是什么?安东尼,对不起,我不明白你的意思。这对你来说重要吗?这是家庭作业还是银行的要求?重点是我需要以不同的方式将数字转换为字符串,我只想使用一些字符串格式的模板,但代码应该是通用的。第一个是错误的,因为条件是:只输入数字和格式字符串,代码不应该使用任何神奇的数字和操作-只使用纯格式。此外,如果输入的数字是3.456呢?它应该是通用的。海猫:我回答了你的问题。事后你不能改变规则。如果这是家庭作业,下次把整个问题都贴出来,你可能会得到更好的答案。
    double somevar = 3.45;
    
    string s = string.Format("{0:000000}", (int)(somevar*100.0));
    string t = string.Format("'{0,-8:0.00}'", somevar);