VB.NET FormatNumber是否等效于C#?

时间:2020-03-05 18:49:17  来源:igfitidea点击:

VB.NETFormatNumber函数是否等效?

IE。:

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

解决方案

回答

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

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

回答

在两个Cand 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}","格式化字符串"};"或者" Int的字符串格式")。

回答

是的.ToString(string)方法。
例如,

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

请注意,在C中,我们不使用数字来指定格式,而是使用一个字符或者一个字符序列。
在Ctake中格式化数字和日期需要花费几分钟的时间来学习,但是一旦理解了原理,就可以从参考中快速获得想要的任何东西。

这是MSDN的几篇入门文章:

标准数字格式字符串
格式化类型

回答

虽然我建议在这种情况下使用ToString,但请始终记住,可以通过引用Microsoft.VisalBasic.dll使用Cjust的任何VB.Net函数或者类。