根据输入123.45
,我试图通过123,45
获取输出String.Format
。
由于我正在使用的系统,实际的格式字符串(例如{0:0.00}
)会保存在配置文件中,然后在管道中进行转换。
编辑配置文件以添加新格式是" safe"我可以很快地完成这个任务。稍后编辑实际的解析器是有风险的"所以需要一个更重要的QA资源,我需要避免这种情况。
结果,一些警告:
string.Format(pattern, input)
。没有重载。string.Format(new System.Globalization.CultureInfo("de-DE"), "{0:0.00}", 123.45)
,那么我就得到了我需要的东西。但我无法通过本地化。那可以吗?
我可以将任何格式传递给string.Format
,这会将123.45
转换为123,45
吗?
答案 0 :(得分:1)
如果您可以将输入乘以100,则以下情况应该起作用:
double input = 123.45;
string pattern = "{0:###\\,##}";
var result = String.Format(pattern, input*100);
答案 1 :(得分:1)
只是为了它的乐趣:)
double value =123.45;
Console.WriteLine(String.Format("{0:#0.00}\b\b\b,", value));
这当然只有在有光标时才有效,就像在控制台中一样,否则退格控制字符无效。
很抱歉,但我无法想出实现这一目标的真正方法。