C# 百分比问题

本文介绍了如何使用C#中的ToString方法将浮点数转换为带有百分比的字符串,并展示了不同精度设置的方法。

文章来源 http://www.chr114.com/blogs/20100511/10263771.shtml

 

 

double a=50;

double b=100;

//没有小数部分

Label1.Text = (a / (a+b)).ToString("0%") ;

//两位小数

Label2.Text = (a / (a+b)).ToString("P") ToString("0.00%");

 

ToString("P3"); 可以设置精度 (以为网友的完善)

C#处理百分数相关问题主要涉及百分数的表示、转换以及一些基本运算,以下是具体方式: ### 百分数表示方法 - 使用格式化字符串:将小数转换为百分数形式显示,可使用 `ToString("p")` 或 `ToString("p2")` 等格式说明符。其中,`"p"` 默认为保留两位小数并添百分号,`"p2"` 明确指定保留两位小数。 ```csharp double percent = Convert.ToDouble(2) / Convert.ToDouble(34); string result1 = percent.ToString("p"); // 得到 5.88% string result2 = percent.ToString("p2"); // 得到 5.88% ``` - 手动拼接字符串:计算出小数后,将其乘以 100 并拼接百分号 `"%"`。 ```csharp double num = 0.333367; string p = (Math.Round(num, 4) * 100).ToString() + "%"; // 33.34% ``` ### 百分数转换 - 将百分数字符串转换为小数:首先去除百分号,再将结果除以 100。 ```csharp string percentage = "25%"; decimal decimalValue; if (decimal.TryParse(percentage.TrimEnd('%'), out decimalValue)) { decimalValue /= 100; } ``` - 将小数转换为百分数形式:将小数乘以 100,按需格式化并添百分号。 ```csharp double dbdata = Math.Round((double)1 / (double)3, 5) * 100; string p = String.Format("{0:F}", dbdata) + "%"; // 默认为保留两位,显示为 33.33% ``` ### 百分数运算 百分数不能直接进行运算,需先将其转换为小数,运算结束后再转换回百分数形式。 ```csharp string percentage1 = "25%"; string percentage2 = "35%"; decimal decimalValue1, decimalValue2; if (decimal.TryParse(percentage1.TrimEnd('%'), out decimalValue1) && decimal.TryParse(percentage2.TrimEnd('%'), out decimalValue2)) { decimalValue1 /= 100; decimalValue2 /= 100; decimal sum = decimalValue1 + decimalValue2; decimal percentageSum = sum * 100; Console.WriteLine(percentageSum.ToString("0.##") + "%"); } else { Console.WriteLine("无法相百分数。"); } ``` ### 数据获取场景下转换百分数 从数据源获取数据时,可先转换为数值,乘以 100 后使用格式化字符串输出百分数。 ```csharp string termRate = vTbl.Rows[0]["TermRate_TMR"].ToString(); string StationTerminalFGL = (double.Parse(termRate) * 100).ToString("0.00") + "%"; ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值