字符串.format -逗号作为十进制分隔符
本文关键字:十进制 分隔符 format 字符串 | 更新日期: 2023-09-27 18:05:05
给定输入123.45
,我试图通过String.Format
获得输出123,45
。
由于我正在工作的系统,实际的格式字符串(例如{0:0.00}
)保存在配置文件中,并在以后的管道中进行转换。
编辑配置文件以添加新格式是"安全的",我可以很快完成。以后编辑实际的解析器是"有风险的",所以需要更重要的QA资源,我需要避免这种情况。
因此,一些警告:
- 我只能访问
string.Format(pattern, input)
。没有过载。 - 我无法发送本地化。我知道如果我发送
string.Format(new System.Globalization.CultureInfo("de-DE"), "{0:0.00}", 123.45)
,我就得到了我需要的。但是我无法通过本地化。
那么这是可以做到的吗?
有没有什么格式我可以传递给string.Format
,将123.45
转换成123,45
?
如果您可以将输入乘以100,则以下内容应该可以工作:
double input = 123.45;
string pattern = "{0:###'',##}";
var result = String.Format(pattern, input*100);
只是为了好玩:)
double value =123.45;
Console.WriteLine(String.Format("{0:#0.00}'b'b'b,", value));
这当然只在有光标的情况下起作用,比如在控制台中,否则退格控制字符不起作用。
对不起,我想不出一个真正的方法来完成这件事。