将Double转换为String:特定于文化

时间:2011-05-04 01:57:36

标签: c#

假设我的方法有一个Double类型的参数。但有时候我传递的是一个类似于7的int,而不是像7.0这样的双倍,所以如果我使用ToString方法然后7将是“7”,但我希望它是“7.0”,现在我还需要考虑文化,因为有时可能法语使用“,”表示十进制,所以它应该是“7,0”...我怎么能把这个转换成字符串?

5 个答案:

答案 0 :(得分:6)

你在找这个吗?

double x = 7.0;

String Display = x.ToString("0.0", CultureInfo.CreateSpecificCulture("de-DE"));

答案 1 :(得分:3)

除了您问题的所有正确答案之外,我还想提示您在将数据存储到文件,数据库等的任何情况下使用CultureInfo.InvariantCulture

如果我早些时候知道这件事,那将会给我带来很多时间和痛苦。

答案 2 :(得分:2)

它已经对文化敏感,它关注Thread.CurrentCulture属性。当法国用户运行您的程序时,这将不是英语。除非您知道默认文化不正确,否则不要做任何特别的事情。

答案 3 :(得分:0)

答案 4 :(得分:0)

您还可以查看此链接,了解使用string.Format

的示例

http://www.csharp-examples.net/string-format-double/