繁体   English   中英

string.format-逗号作为小数点分隔符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM