首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将数字格式化为百分比

尝试将数字格式化为百分比
EN

Stack Overflow用户
提问于 2018-01-30 23:29:04
回答 2查看 57关注 0票数 2

我正在尝试弄清楚如何将文本框中显示的数字转换为百分比。

我的程序基本上是计算2016和2017年售出的汽车的百分比变化。

为了测试它,我做了2016年的汽车销量=7辆,2017年的汽车销量= 12辆,我得到了一个非常长的数字。我知道你用(“p”)或(“p”)来格式化数字,但我就是不知道把它放在哪里?

代码语言:javascript
复制
private void calcbtn_Click(object sender, EventArgs e)
{
    double carsIn2016; //  number of cars sold in 2016
    double carsIn2017; // number of cars sold in 2017
    double Percentchanged; // calculate the % change

    carsIn2016 = double.Parse(soldIn2016txtbox.Text); //get input from text box
    carsIn2017 = double.Parse(soldIn2017txtbox.Text);  // get input from text box 
    Percentchanged =(carsIn2017 - carsIn2016) / (carsIn2016 * 100); // calculate the % change 

    MessageBox.Show( "Your total % change is   " + Percentchanged);
}
EN

回答 2

Stack Overflow用户

发布于 2018-01-30 23:48:34

Precentage Difference:计算出正在比较的两个数字之间的差异(增量)。然后:将增量除以原始数字,并将答案乘以100

因为您是在打印之前计算百分比。如果你使用格式化程序,那么你会得到不好的结果。您只需为字符串格式化程序输入一个数字,即可将其转换为百分数。不要乘以100并使用格式化程序。

你实际上在PrecentChanged变量中有百分号。

代码语言:javascript
复制
double carsIn2016; //  number of cars sold in 2016
double carsIn2017; // number of cars sold in 2017
double Percentchanged; // calculate the % change

carsIn2016 = double.Parse("7"); //get input from text box
carsIn2017 = double.Parse("12");  // get input from text box 
Percentchanged =((carsIn2017 - carsIn2016) / (carsIn2016));//* 100); // calculate the % change 



var output = String.Format("Your total % change is : {0:P}.", Percentchanged);

输出 71.43%

如果乘以100,然后使用格式化程序

输出值:7142.86%.

票数 2
EN

Stack Overflow用户

发布于 2018-01-30 23:40:43

您正在寻找的是ToString(),它可以与您指定的"P“一起使用。

代码语言:javascript
复制
MessageBox.Show("Your total % change is " + PercentChanged.ToString("P"));

您还可以按照Microsoft's Website中的说明,通过ToString进行各种其他格式设置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48525012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档