Vb.net Single.Parse()与仅使用Console.ReadLine()读取浮点值相比

Vb.net Single.Parse()与仅使用Console.ReadLine()读取浮点值相比,vb.net,Vb.net,我可以添加从Console.ReadLine获得的浮点值,并将它们添加到一起,而无需使用Single.ParseConsole.ReadLine。使用Single.Parse更好吗 例如: Sub Main() Dim num1, num2, sum As Single Console.WriteLine("Enter two floating point numbers:") 'get user input Console.W

我可以添加从Console.ReadLine获得的浮点值,并将它们添加到一起,而无需使用Single.ParseConsole.ReadLine。使用Single.Parse更好吗

例如:

Sub Main()
        Dim num1, num2, sum As Single

        Console.WriteLine("Enter two floating point numbers:")
        'get user input

        Console.Write("First number: ")
        num1 = Console.ReadLine()
        'num1 = Single.Parse(Console.ReadLine())

        Console.Write("Second number: ")
        num2 = Console.ReadLine()
        'num2 = Single.Parse(Console.ReadLine())

        sum = num1 + num2

        Console.WriteLine("sum of " & num1 & " and " & num2 & " is: " & sum)

    End Sub

谢谢

打开Option Strict是一种很好的做法。这将向您展示,实际上,您需要正确地将字符串转换为单个字符串。这也将有助于添加正确的错误处理。

打开选项Strict是一种很好的做法。这将向您展示,实际上,您需要正确地将字符串转换为单个字符串。这也将有助于添加正确的错误处理。

您的代码只能在选项Strict Off的情况下编译。如果启用Option Strict,将强制执行某些操作以显式转换数据类型,例如Single.Parse

问它是否更好是一个意见问题,我想,但我可以告诉你,大多数高级开发人员更喜欢打开选项。它更安全、更明确,并且与其他语言(如C)更兼容


另一个优点是,如果要将代码从选项Strict Off的项目复制或移动到选项Strict On的项目,则必须修复所有问题。然而,当以另一种方式移动代码时,将不会有任何问题需要修复。因此,即使是在同一种语言中,它也更能以这种方式与代码兼容。

您的代码只能在关闭选项Strict的情况下编译。如果启用Option Strict,将强制执行某些操作以显式转换数据类型,例如Single.Parse

问它是否更好是一个意见问题,我想,但我可以告诉你,大多数高级开发人员更喜欢打开选项。它更安全、更明确,并且与其他语言(如C)更兼容


另一个优点是,如果要将代码从选项Strict Off的项目复制或移动到选项Strict On的项目,则必须修复所有问题。然而,当以另一种方式移动代码时,将不会有任何问题需要修复。因此,即使在同一种语言中,它也更适合以这种方式编写代码。

解析始终是一种很好的做法。文本的输入将是一个字符串,您不希望对字符串进行数学运算

检查您是否有正确的输入也是一种很好的做法,这就是“TryParse”的用武之地。下面是一个使用先前代码的示例:

Sub Main()
    Dim num1, num2, sum As Single

    Console.WriteLine("Enter two decimal numbers:")

    Console.Write("First number: ")
    Do While Not Single.TryParse(Console.ReadLine(), num1)
        Console.Write("Not valid. Please enter a valid decimal number... " & Environment.NewLine)
        Console.Write("First number: ")
    Loop

    Console.Write("Second number: ")
    Do While Not Single.TryParse(Console.ReadLine(), num2)
        Console.Write("Not valid. Please enter a valid decimal number... " & Environment.NewLine)
        Console.Write("Second number: ")
    Loop

    sum = num1 + num2
    Console.WriteLine("sum of " & num1 & " and " & num2 & " is: " & sum)
    Console.ReadLine()
End Sub

解析总是很好的做法。文本的输入将是一个字符串,您不希望对字符串进行数学运算

检查您是否有正确的输入也是一种很好的做法,这就是“TryParse”的用武之地。下面是一个使用先前代码的示例:

Sub Main()
    Dim num1, num2, sum As Single

    Console.WriteLine("Enter two decimal numbers:")

    Console.Write("First number: ")
    Do While Not Single.TryParse(Console.ReadLine(), num1)
        Console.Write("Not valid. Please enter a valid decimal number... " & Environment.NewLine)
        Console.Write("First number: ")
    Loop

    Console.Write("Second number: ")
    Do While Not Single.TryParse(Console.ReadLine(), num2)
        Console.Write("Not valid. Please enter a valid decimal number... " & Environment.NewLine)
        Console.Write("Second number: ")
    Loop

    sum = num1 + num2
    Console.WriteLine("sum of " & num1 & " and " & num2 & " is: " & sum)
    Console.ReadLine()
End Sub

我要说的是,打开它并不是什么好的做法,而关闭它则是非常糟糕的做法。人们会用一个很好的交换另一个。让他们明白这不仅仅是中性交易的好处,也是非常糟糕的交易,这是一个更好的行为驱动因素。我想说,与其说打开它是一种好的做法,不如说关闭它是一种非常糟糕的做法。人们会用一个很好的交换另一个。让他们明白这不仅仅是中性交易的好处,而且对非常贫穷的人也有好处,这是一个更好的行为驱动力。我选择双倍而不是单倍。如果你需要使用单曲,你会知道的。此外,十进制通常更适合表示货币值。众所周知,用户不可信。当用户输入电子邮件而不是数字时,TryParse是避免程序崩溃的一个好方法:-打开选项Strict,看看它是如何为您工作的!我要双人的而不是单人的。如果你需要使用单曲,你会知道的。此外,十进制通常更适合表示货币值。众所周知,用户不可信。当用户输入电子邮件而不是数字时,TryParse是避免程序崩溃的一个好方法:-打开选项Strict,看看它是如何为您工作的!感谢Steven-我正在学习VB.net,而打开选项Strict On是我忽略的一件事,这给我带来了困惑。仅供参考,您可以在项目级别打开或关闭它,从而影响项目中的所有代码,或者在文件级别,它会覆盖仅针对该文件中代码的项目级别设置。此外,VisualStudio中还有一个选项,您可以在其中为新项目设置默认项目级别设置。因此,如果你打开它,那么每次你创建一个新的VB项目时,默认情况下,它都会自动为新项目打开Option Strict on。感谢Steven-我正在学习VB.net,而打开Option Strict on是我忽略的一件事,这给我带来了困惑。仅供参考,您可以在项目级别启用或禁用该选项,从而影响项目中的所有代码,或者在文件级别启用或禁用该选项,从而仅覆盖该文件中代码的项目级别设置。此外,VisualStudio中还有一个选项,您可以在其中为新项目设置默认项目级别设置。所以,如果你打开它,那么 每次创建新的VB项目时,默认情况下,它都会自动为新项目启用“严格”选项。