首页 > 解决方案 > 来自简单字符串格式调用的不同输出

问题描述

在运行 Visual Studio 2019 的 Windows 机器上,当我将小数转换为字符串时:

decimal n = 200;
var s = n.ToString("P0");

...我得到:200%。(没有空间)

但是,当我在 VsCode 中的 Mac 上执行此操作时,我得到200 %(带有空格)。

这导致一些单元测试失败。获得格式一致行为的最佳方法是什么?

标签: c#visual-studiovisual-studio-code

解决方案


当数字转换为字符串时,您的平台会考虑当前的系统文化。为了使其保持一致,您可以使用 CultureInfo.InvariantCulture

decimal number = 2;
var result = number.ToString("P0", CultureInfo.InvariantCulture);

推荐阅读