[英]How do I make my percentages have 2 decimal points?
我看过其他有关此问题的文章,但我只是无法理解,只想针对我的情况提出要求。 我已经编写了一个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()
任何帮助,将不胜感激,谢谢!
问题是由于PercentageNumberResult是一个整数。
将PercentageNumberResult设为double:
Dim PercentageNumberResult As Double
PercentageNumberResult = Number / 100 * Percentage
然后,您可以根据需要使用Math.Round。 另外,您应该启用Option Strict(严格选项),这将有助于解决问题。
如果要将数字转换为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”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.