首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么百分比格式说明符会乘以100?

为什么百分比格式说明符会乘以100?
EN

Stack Overflow用户
提问于 2011-11-15 13:20:55
回答 3查看 12.1K关注 0票数 19

为什么百分比的'p‘字符串格式在用百分号格式化之前先将值乘以100?

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#PFormatString

百分比("P")格式说明符

percent ("P")格式说明符将数字乘以100,并将其转换为表示百分比的字符串。精度说明符指示所需的小数位数。如果省略精度说明符,则使用current PercentDecimalDigits属性提供的默认数值精度。

有没有办法防止在格式化前将值乘以100?而不是做:

代码语言:javascript
复制
(value / 100).ToString("p")
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-15 13:24:52

至于为什么,“百分比”字面上的意思是“百分之一”,所以50%在数学上相当于0.50。至于格式,为什么不加一个百分号呢?

代码语言:javascript
复制
value + "%"

..。或者类似这样的东西:

代码语言:javascript
复制
value.ToString("#.00\\%")
票数 24
EN

Stack Overflow用户

发布于 2011-11-15 13:43:49

您通常在代码中使用小数百分比,如0.51.0,但用户喜欢在末尾添加百分号的漂亮整数。

Percent的意思是"out of 100__“,很明显,您的小数百分比超出了1。因此,.ToString("p")会将您的数字乘以100,然后附加一个百分号。

这只是个定义。

票数 5
EN

Stack Overflow用户

发布于 2015-06-08 18:01:19

如果您不想将该值乘以100,则只需要输入值之外的百分比%,即VALUE.00%。如果输入的值默认为0.00%,则答案为

PERCENTAGE_FORMAT = "#0.00\%";

这对我来说绝对有效!!

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

https://stackoverflow.com/questions/8131861

复制
相关文章

相似问题

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