如何输出 百分数 并且不会四舍五入? 这也100哦!!!

Jueyoung 2009-03-27 04:42:17
0.77777777
输出为 77.77%

有没有已经存在的函数, 可以直接用的?
toString("P2") 会四舍五入的...


不要四舍五入....

分不少, 散点儿...呵呵
...全文
758 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
elvafans_hehe 2010-06-27
  • 打赏
  • 举报
回复
ToString("p0")
Jueyoung 2009-03-29
  • 打赏
  • 举报
回复
哇哇,,,我没刷新帖子, 发现大家都有好多答案了,
这么热烈, 我在加100分好了!!!
Jueyoung 2009-03-29
  • 打赏
  • 举报
回复
谢谢楼上各位朋友

我用了一个简单点儿的方法.


decimal xint = 0.777777M;
xint = xint*10000;
xint = Math.Floor(xint);
xint = xint/10000;
Console.WriteLine(xint .ToString ("P2"));


结贴给分!
YSEE 2009-03-28
  • 打赏
  • 举报
回复
转成 Decimal 类型 应该就不会了
mouse1984dog 2009-03-28
  • 打赏
  • 举报
回复
jf
qinqinhao 2009-03-28
  • 打赏
  • 举报
回复
ding
owenliangbin 2009-03-28
  • 打赏
  • 举报
回复
顶24楼
surge0321 2009-03-27
  • 打赏
  • 举报
回复
round
IgniteINSyourown 2009-03-27
  • 打赏
  • 举报
回复
不太懂
zzxap 2009-03-27
  • 打赏
  • 举报
回复
float bf1=1234.5678;
string bs1=bf1.ToString("0.00");
wuyq11 2009-03-27
  • 打赏
  • 举报
回复
decimal co=Convert.ToDecimal(0.7777)*100;
co=Math.Round(co,2);
string per=co.ToString()+"%";;
ytycoffe 2009-03-27
  • 打赏
  • 举报
回复
这个方法绝对简单好用
decimal num = Convert.ToDecimal(0.77777777*10000);
num = decimal.Floor(num) / 100;
Console.WriteLine(num + "%");
Console.Read();
ytycoffe 2009-03-27
  • 打赏
  • 举报
回复
string num=(0.77777777 * 100).ToString("f10");
Match m = Regex.Match(num, "\\d+[.]\\d{1,2}");
if (m.Success)
{
num = m.Value;
}

Console.WriteLine(num + "%");
ytycoffe 2009-03-27
  • 打赏
  • 举报
回复
(0.77777777*100).ToString("f2")+"%"
yygyogfny 2009-03-27
  • 打赏
  • 举报
回复
帮顶
Gavinsky_feifei 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 typeof 的回复:]
C# codedouble x = 0.77777777;
string s = ((int)(x * 10000) / 10000.0).ToString("P2");
[/Quote]
支持这个。
双层木屋 2009-03-27
  • 打赏
  • 举报
回复
这是一个下切的功能。
.NET中只提供了返回整数的方法:Math.Floor()。
想要实现下切小数的功能,一般是先乘,再切,后除。
zhizlm 2009-03-27
  • 打赏
  • 举报
回复
用个强制转换。
typeof 2009-03-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 Jueyoung 的帖子:]
0.77777777
输出为 77.77%

有没有已经存在的函数, 可以直接用的?
toString("P2") 会四舍五入的...


不要四舍五入....

[/Quote]

double x = 0.77777777;
string s = ((int)(x * 10000) / 10000.0).ToString("P2");
HimeTale 2009-03-27
  • 打赏
  • 举报
回复
没看明白楼主的意思
本来就没四舍五入啊
加载更多回复(14)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧