为什么百分比的'p‘字符串格式在用百分号格式化之前先将值乘以100?
http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx#PFormatString
百分比("P")格式说明符
percent ("P")格式说明符将数字乘以100,并将其转换为表示百分比的字符串。精度说明符指示所需的小数位数。如果省略精度说明符,则使用current PercentDecimalDigits属性提供的默认数值精度。
有没有办法防止在格式化前将值乘以100?而不是做:
(value / 100).ToString("p")
发布于 2011-11-15 13:24:52
至于为什么,“百分比”字面上的意思是“百分之一”,所以50%在数学上相当于0.50
。至于格式,为什么不加一个百分号呢?
value + "%"
..。或者类似这样的东西:
value.ToString("#.00\\%")
发布于 2011-11-15 13:43:49
您通常在代码中使用小数百分比,如0.5
和1.0
,但用户喜欢在末尾添加百分号的漂亮整数。
Percent的意思是"out of 100
__“,很明显,您的小数百分比超出了1
。因此,.ToString("p")
会将您的数字乘以100
,然后附加一个百分号。
这只是个定义。
发布于 2015-06-08 18:01:19
如果您不想将该值乘以100,则只需要输入值之外的百分比%,即VALUE.00%。如果输入的值默认为0.00%,则答案为
PERCENTAGE_FORMAT = "#0.00\%";
这对我来说绝对有效!!
https://stackoverflow.com/questions/8131861
复制相似问题