格式化字符串 -- 左右填充双倍

Format Strings -- Pad a double left and right

我几乎不好意思问这个非常基本的问题,但是:

如何仅使用格式字符串打印以下内容

42.315 -->  42.315000
-4.2   -->  -4.200000
315.42 --> 315.420000

如果不明显:我需要在 comma/dot 之前用空格填充after comma/dot

的零填充


我有以下代码来填充以下零:

double v1 = 42.315;

return string.Format("v1: {0:F14}", v1);

我通常会使用 <string>.PadLeft(18, ' ') 用零填充字符串的左侧。
但是,我确实想避免 string::PadLeft(int, char) 并纯粹使用 string::format(string, params object[]).

来解决这个问题


我很确定,这个问题已经在这里被问了大约一百次了——尽管我找不到问题。但是请随意将其标记为重复项[当然,只有当它是一个时] ...

在索引和冒号之间添加填充:

string.Format("v1: {0,18:F14}", v1)

结果:

v1:  42.31500000000000

这已记录在案 here