繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM