想显示dotnetcharting控件饼图的百分比事小数位怎么设置,不让它四舍五入,小于1就等于0了

WUSTAR 2009-09-25 11:11:46
想显示dotnetcharting控件饼图的百分比事小数位怎么设置,不让它四舍五入,小于1就等于0了
...全文
1209 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Herbert 2011-11-17
  • 打赏
  • 举报
回复
Chart1.DefaultElement.SmartLabel.Text = "%YValue, <%PercentOfTotal,0.00>";
确实如此
chen_ya_ping 2009-09-27
  • 打赏
  • 举报
回复
math.floor(0.5)
WUSTAR 2009-09-27
  • 打赏
  • 举报
回复
青龙白虎 大哥,您没看清楚我的问题,我不是问 c# 中保留几位小数的问题啊,我是问在dotnetcharting中画饼图时,dotnetcharting计算的百分比我要保留多为小数,而我只是给出了y轴的值,百分比应该是dotnetcharting自己计算得到的是没有小数的,所以我想知道在哪里可以进行设置
WUSTAR 2009-09-27
  • 打赏
  • 举报
回复
问题终于解决了: chart1.DefaultElement.LabelTemplate = "<%PercentOfTotal,0.00>";
利用LabelTemplate属性格式化百分比 "<%PercentOfTotal,0.00>"
具体解决办法查看 .netCHARTING帮助的 Getting Started > General Tutorials > Using labels > Formatting Values
WUSTAR 2009-09-25
  • 打赏
  • 举报
回复
我给 Y 轴绑得已经是Double型的了: e.YValue = Convert.ToDouble(dt.Rows[i][1].ToString())
BossFriday 2009-09-25
  • 打赏
  • 举报
回复
直接对数据源做你这里的小数处理,然后再交给dotnetcharting处理.
yzlxy 2009-09-25
  • 打赏
  • 举报
回复
早就给你答案了,怎么不看呢
wuyq11 2009-09-25
  • 打赏
  • 举报
回复
e.YValue = double.Parse(dt.Rows[i][0].ToString("0.00"));
qldsrx 2009-09-25
  • 打赏
  • 举报
回复
上面写错,漏了一个括号,要这样(括号太多了,匹配看的眼花了):
e.YValue = ((int)(Convert.ToDouble(dt.Rows[i][1].ToString())*100)/100.0
qldsrx 2009-09-25
  • 打赏
  • 举报
回复
如果你不是要取整,而是要保留2位小数,但是却不是四舍五入,是截断,只要这样:
e.YValue = ((int)Convert.ToDouble(dt.Rows[i][1].ToString())*100)/100.0
qldsrx 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wustar 的回复:]
真是个头疼的问题啊,谢谢大家帮顶哦 ^_^
[/Quote]

拜托,你是不是没有看懂我6楼给你的提示啊,本以为一点就通的,居然不行。

e.YValue = (double)(int)Convert.ToDouble(dt.Rows[i][1].ToString())
WUSTAR 2009-09-25
  • 打赏
  • 举报
回复
真是个头疼的问题啊,谢谢大家帮顶哦 ^_^
wfenj 2009-09-25
  • 打赏
  • 举报
回复
帮定
WUSTAR 2009-09-25
  • 打赏
  • 举报
回复
借用smallkonrad的图片说明一下问题:


怎样在饼状图中 的值显示为 1.10%,2.12% 69.11%,即保留两位小数显示。 不是现在的 1% 2% 69%
足球中国 2009-09-25
  • 打赏
  • 举报
回复
lovezhxf 2009-09-25
  • 打赏
  • 举报
回复
帮顶。。。
WUSTAR 2009-09-25
  • 打赏
  • 举报
回复
WUSTAR 2009-09-25
  • 打赏
  • 举报
回复
smallkonrad ,你的头像是 wcg2008 moon vs grubby ?
erytbc 2009-09-25
  • 打赏
  • 举报
回复
我也问这个问题没人吊我
yzlxy 2009-09-25
  • 打赏
  • 举报
回复
数值格式化一下
double d = 0.456;
string s= d.toString("0.###");
加载更多回复(3)

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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