我看过其他有关此问题的文章,但我只是无法理解,只想针对我的情况提出要求。我已经编写了一个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()
任何帮助将不胜感激,谢谢!
答案 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”。