如何将整数值转换为特殊格式

时间:2017-05-01 12:26:56

标签: c#

我有一个数值。我想格式化它:

input: 500000 $
output: 500.000 $

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用custom format strings来处理您想要的数字,而无需实际更改其值。

只要该点字符实际上是您文化中的千位分隔符,您就可以使用格式字符串##,# $

var value = 50000;
Console.WriteLine(value.ToString("##,# $"));
  • #充当数字占位符,
  • ,充当分隔符(这个 特定的字符串可以处理更大的数字,每个"千"分组,有关其工作原理的更多详细信息,请参阅this
  • 显示
  • $ 字面上。

根据要求,输出为50.000 $

此外,由于此格式取决于文化,因此如果程序恰好在使用其他分隔符的国家/地区运行,则会正确显示。

如果500.000 $恰好是"正常"如果您的文化显示货币,您可以使用标准格式字符串C0。这个简单的格式使用您的文化的默认货币格式,小数点后0位。这也将自动调整运行应用程序的人员的文化。

如果您不希望这些文件格式适应用户的文化格式,您可以将显式文化传递给ToString

var value = 50000;
var culture = new CultureInfo("fr-FR");
Console.WriteLine(value.ToString("C0", culture));

这会在我的机器上显示500 000 €,即使默认文化(en-US)会导致它显示$50,000

答案 1 :(得分:-3)

你的问题很容易解决,你应该能够做到。

在伪代码中(你必须编写程序):

float num
Writeline input number;
read line num;
num = num / 1000;
print num;