如何使我的百分比有2个小数点?

时间:2018-10-04 08:31:59

标签: vb.net console-application

我看过其他有关此问题的文章,但我只是无法理解,只想针对我的情况提出要求。我已经编写了一个Visual Basic控制台应用程序,我试图将百分比保留在小数点后两位,因为它们只是四舍五入到最接近的整数。这是代码:

Console.Write("Enter the percentage you want to work out: ")
Dim Percentage As Integer
Percentage = Console.ReadLine()

Console.Write("What would you like to work out " & Percentage & "% of? ")
Dim Number As Integer
Number = Console.ReadLine()

Dim PercentageNumberResult As Integer
PercentageNumberResult = Number / 100 * Percentage

Console.Write(Number & " ÷ 100 × " & Percentage & " = " & PercentageNumberResult)
Console.ReadLine()

任何帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:2)

问题是由于PercentageNumberResult是一个整数。

使PercentageNumberResult为两倍:

    Dim PercentageNumberResult As Double
    PercentageNumberResult = Number / 100 * Percentage

然后可以根据需要使用Math.Round。另外,您应该启用Option Strict选项,这将有助于解决问题。

答案 1 :(得分:0)

如果要将数字转换为String,请在该数字上调用ToString。如果要使用特定格式,则在调用ToString时将适当的格式说明符作为参数传递。您应该阅读相关文档,以了解所有可能的格式说明符。

在这种情况下,使用“ p”或“ P”说明符将数字显示为百分比,并且可以添加数字以指定小数位数。例如

Dim x = 13
Dim y = 1000
Dim z = x / y
Dim s = z.ToString("P2")

执行该代码后,s将包含“ 1.30%”。

如果您实际上不希望在输出中使用“%”符号,则可以乘以100,然后使用其他格式说明符,例如

Dim x = 13
Dim y = 1000
Dim z = 100 * x / y
Dim s = z.ToString("N2")

执行该代码后,s将包含“ 1.30”。