在VB.NET中编写数字格式

时间:2009-09-08 13:21:28

标签: vb.net

将一些代码从VB6移植到VB.NET。它一直使用WriteWriteLine来生成输出文件。

现在,我需要比较原始代码和移植代码的输出,但是数字格式存在一个小问题。例如,虽然VB6代码Write仅为.5,但VB.NET代码生成0.5,而不是.0005(原始)它写5E-4

如何让VB.NET的Write以与VB6相同的格式编写数字?重构编写代码以包括格式化步骤的选项是不可接受的。

3 个答案:

答案 0 :(得分:4)

在VB.NET中,您可以在Write / WriteLine调用中使用String.Format函数。

示例:

Console.WriteLine(String.Format("{0:c}", price))  

有关格式化字符串的更多信息,请参见here

答案 1 :(得分:0)

您是否检查过函数Microsoft.VisualBasic.Format

答案 2 :(得分:0)

  • Write和WriteLine 通常与Input和LineInput一起使用,因此仍然可以以相同的方式读取和写入数据。
  • 如果您这样做是因为输出是针对第三方程序的,那么您可能只需要咬住子弹并使用简单记录的宏(Ctrl + Shift + R)进行搜索和替换,或者使用(Ctrl +)进行搜索和替换H)。这些都不是很难!
  • 欢迎使用.NET!当你说从VB6移植到VB.NET 时,这意味着使用新概念并采用新的处理方法。简单地运行内置升级是而不是移植到.NET!
  • 您可以尝试使用Write(handle, arg.ToString("#.####"))而不是前面提到的String.Format调用。
  • 您没有提及为什么您需要以与之前相同的方式编写数据的原因?
  • 重构代码是不可接受的 ..... hrm ...小心解释那一个? (如果不是懒惰,人们会倾听。)