【问题标题】:Non-English numeric formatting in Visual StudioVisual Studio 中的非英语数字格式
【发布时间】:2014-04-06 15:52:04
【问题描述】:

在美式英语中,小数点分隔符是“.” 所以如果我想写出 100 + 25/100 的结果,那就是 100.25(很明显)。

如果我是居住在法国的法国开发人员,我将如何在 Visual Studio 中将其写入常量?在法国,他们使用逗号 (",") 作为小数分隔符。

我会写吗

const double x = 100.25

const double x = 100,25

谢谢

【问题讨论】:

标签: c# visual-studio culture regional-settings


【解决方案1】:

您使用 C# 编写程序,而不是英语。使用 C# 语法。

const float x = 100.25

当您为非英语用户显示一些信息时,您可以在适当的视图中对其进行格式化。

例如:

MessageBox.Show(x.ToString().Replace(".", ",")); // or some special format functions

【讨论】:

  • 我认为最好在示例中显示CultureInfo 用法。会更有用的
  • 另外,您不能将浮点值存储在 int 变量中
  • @Fyodor Ahaha,是的,你是对的。我什至没有注意到这个 int/float 类型的“小”错误:) Upd。感谢“CultureInfo”,我以前不知道。
  • SO 是一个问答网站,人们希望阅读该问题的正确且独立的答案,因此,如果您了解如何改进/纠正您的答案并能够做到,请每次都这样做.
【解决方案2】:

第一个。 C# 编译器没有文化变体,任何编译器都可以编译代码。除此之外,, 在 C# 中有一些不兼容的不同用法,例如分隔新列表中的条目:

var data = new List<double> { 1.0, 2.0, 3.0 };

【讨论】:

    【解决方案3】:

    他们也必须写100.25。源代码本身与文化无关。如果不是这种情况,您需要某种方式向编译器指定文化。

    程序员可以将值声明为字符串,然后将double.Parse 与适当的格式提供程序一起使用,但这将是运行时转换,并且是在编译时声明已知值的低效方式。 p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2010-09-27
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多