c# - 来自简单字符串格式调用的不同输出
问题描述
在运行 Visual Studio 2019 的 Windows 机器上,当我将小数转换为字符串时:
decimal n = 200;
var s = n.ToString("P0");
...我得到:200%
。(没有空间)
但是,当我在 VsCode 中的 Mac 上执行此操作时,我得到200 %
(带有空格)。
这导致一些单元测试失败。获得格式一致行为的最佳方法是什么?
解决方案
当数字转换为字符串时,您的平台会考虑当前的系统文化。为了使其保持一致,您可以使用 CultureInfo.InvariantCulture
decimal number = 2;
var result = number.ToString("P0", CultureInfo.InvariantCulture);
推荐阅读
- java - 传递 Context 或使用 view.getContext()。真的有关系吗?
- macos - 编辑 /etc/paths 后,打印机在重新启动后不再被 macOS 识别
- ansible - Ansible 和寄存器值
- sql - 在 PostgreSQL 中按组内的元素过滤
- python - 我的带有滚动条的 tkinter 窗口滞后
- typescript - 如何避免强制转换实例类类型?
- java - 如何使 com.fasterxml.jackson 垂直打印数组?
- c++ - 我遇到了不转换 const__gnu_cxx::__normal_iterator 的问题
- youtube - 获取之前上传和预定的 youtube 视频的预定发布日期/时间
- javascript - 使用曾经是基于 ES6 类的文件的 IIFE 文件