VB.NET FormatNumber在C#中等效?

时间:2008-09-08 10:59:34

标签: c# .net vb.net

VB.NET FormatNumber函数是否有C#等价物?

即:

JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);

4 个答案:

答案 0 :(得分:10)

在C#和VB.NET中,您可以使用.ToString()函数或String.Format()方法格式化文本。

使用.ToString()方法,您的示例可以写成:

JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")

或者使用String.Format(),它可以写成:

JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))

在上述两种情况下,我都使用了货币的自定义格式,#表示可选的占位符,0表示0或值(如果存在)。

其他格式化字符可用于帮助格式化,例如D2为2位小数,或C为显示为货币。在这种情况下,您不希望使用C格式化程序,因为这会插入货币符号和其他不需要的分隔符。

有关如何使用String.Format和不同格式选项的详细信息和示例,请参阅“String.Format("{0}", "formatting string"};”或“String Format for Int”。

答案 1 :(得分:2)

是的,.ToString(字符串)方法。 例如,

int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032

请注意,在C#中,您不使用数字来指定格式,而是使用字符或字符序列。 在C#中格式化数字和日期需要花费几分钟的时间来学习,但是一旦理解了原理,您就可以通过查看参考资料快速获得所需的任何内容。

这里有几篇MSDN文章可以帮助您入门:

Standard Numeric Format Strings Formatting Types

答案 2 :(得分:1)

您可以使用字符串格式化程序来完成同样的事情。

double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");

答案 3 :(得分:0)

虽然我建议在这种情况下使用ToString,但请记住,只需引用Microsoft.VisalBasic.dll即可使用任何VB.Net函数或C#中的类。