[英]string.format - Commas as decimal separator
给定输入123.45
,我试图通过String.Format
获取输出123,45
。
由于我正在使用的系统,实际的格式字符串(例如{0:0.00}
)保存在配置文件中,并在以后沿管道进行转换。
编辑配置文件以添加新格式是“安全的”,我可以很快地做到这一点。 稍后在行中编辑实际的解析器是“高风险的”,因此将需要更重要的质量检查资源,我需要避免这种情况。
结果,一些警告:
string.Format(pattern, input)
。 没有过载。 string.Format(new System.Globalization.CultureInfo("de-DE"), "{0:0.00}", 123.45)
那么我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));
当然,这仅在有光标的情况下才有效,例如在控制台中,否则退格控制字符无效。
抱歉,但是我想不出真正的方法来实现这一目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.